C++中vector的emplace函数用法

avatar
作者
猴君
阅读量:0

emplace函数用于在vector中的指定位置(或末尾)插入一个新元素,可以避免在插入元素时进行冗余拷贝操作。其函数签名为:

template <class... Args> iterator emplace (const_iterator position, Args&&... args); 

其中,position表示要插入的位置,Args... args表示要插入元素的构造参数。使用emplace函数时,会直接调用元素类型的构造函数来构造新元素,并将其插入到vector中。

示例代码如下:

#include <vector> #include <iostream>  int main() {     std::vector<int> vec = {1, 2, 3, 4, 5};          // 在位置2插入新元素6     auto it = vec.emplace(vec.begin() + 2, 6);      // 输出插入后的vector     for (int i : vec) {         std::cout << i << " ";     }     std::cout << std::endl;      return 0; } 

以上代码会输出1 2 6 3 4 5,表示在位置2插入了新元素6。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!