C++ Vector emplace()函数
此函数在位置 pos 前插入一个新元素,并增加向量容器的大小。
语法
假设有一个向量 ‘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<<"Elements of vector v are :";
for(int i=0;i<v.size();i++)
cout<<v[i]<<" ";
cout<<'\n';
cout<<"After adding two elements, elements are :";
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;
}
输出:
Elements of vector v are :1 2 3 4 5
After adding two elements, elements are :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()函数将新的字符串添加到向量容器中,向量容器的大小会增加。