温馨提示×

C++中vector的emplace函数用法

c++
小樊
287
2024-07-25 16:00:12
栏目: 编程语言

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。

0