C++ vector emplace_back() 使用方法及示例

C++ Vector(容器)

此函数用于在向量(vector)的末尾插入新元素,并增加向量(vector)容器的大小。

语法

向量(vector)“ v”。语法为:

v.emplace_back(args);

参数

args:传递了用于构造新元素的参数。

返回值

它不返回任何值。

实例1

让我们看一个简单的实例。

#include <iostream>
#include<vector>
using namespace std;
int main()
{
    vector<char> v{'C','+'};
    v.emplace_back('+');
    for(int i=0;i<v.size();i++){
        cout<<v[i];
    }
    return 0;
}

输出:

C++

在此示例中,通过使用emplace_back()函数在向量(vector)的末尾添加新的字符值来增加向量(vector)'v'的大小。

emplace()与insert()

insert()函数用于将对象复制到向量(vector)中,而emplace()函数仅用于在向量(vector)内部构造对象,从而避免了不必要的操作。

简单的理解,就是 emplace() 在插入元素时,是在容器的指定位置直接构造元素,而不是先单独生成,再将其复制(或移动)到容器中。因此,在实际使用中,推荐大家优先使用 emplace()。

实例2

让我们看另一个简单的实例。

#include <iostream>
#include<vector>
using namespace std;
int main()
{
    vector<int> v{1,2,3,4,5};
    v.emplace_back(6);
    for(int i=0;i<v.size();i++){
        cout<<v[i]<<" ";
    }
    return 0;
}

输出:

1 2 3 4 5 6

在此示例中,emplace_back()函数用于在向量(vector)的末尾(即最后一个元素之后)添加新的整数值。

C++ Vector(容器)