阅读量: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。