是 C++ 11 標(biāo)準(zhǔn)新增加的成員函數(shù),用于在 vector 容器指定位置之前插入一個新的元素。
注意:emplace() 每次只能插入一個元素,而不是多個。
向量(vector)“ v”。語法為:
Iterator it=v.emplace(pos,args);
pos:它定義了要插入新元素的位置。
args:傳遞了用于構(gòu)造新元素的參數(shù)。
它將迭代器返回到新插入的元素。
讓我們看一個簡單的實例。
#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()函數(shù)增加了向量容器的大小。
讓我們看一個簡單的另一個實例。
#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()函數(shù)將新字符串添加到向量(vector)中來增加向量(vector)容器的大小。