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

C++ Vector(容器)

是 C++ 11 标准新增加的成员函数,用于在 vector 容器指定位置之前插入一个新的元素。
 注意:emplace() 每次只能插入一个元素,而不是多个。

语法

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

Iterator it=v.emplace(pos,args);

参数

pos:它定义了要插入新元素的位置。

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

返回值

它将迭代器返回到新插入的元素。

实例1

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

#include <iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> v{1,2,3,4,5};
cout<<"向量v的元素是 :";
for(int i=0;i<v.size();i++)
cout<<v[i]<<" ";
cout<<'\n';
cout<<"添加两个元素之后,元素是 :";
vector<int>::iterator it=v.emplace(v.begin()+2,8);
v.emplace(it,9);
for(int i=0;i<v.size();i++)
cout<<v[i]<<" ";
return 0;
}

输出:

向量v的元素是 :1 2 3 4 5
添加两个元素之后,元素是 :1 2 9 8 3 4 5

在此示例中,使用emplace()函数增加了向量容器的大小。

实例2

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

#include <iostream>
#include<vector>
using namespace std;
int main()
{
vector<string> v{"mango","apple","banana"};
v.emplace(v.begin()+2,"strawberry");
for(int i=0;i<v.size();i++)
std::cout<< v[i] << " ";
return 0;
}

输出:

Mango apple strawberry banana

在此示例中,通过使用emplace()函数将新字符串添加到向量(vector)中来增加向量(vector)容器的大小。

C++ Vector(容器)