此函數(shù)用于在向量(vector)的末尾插入新元素,并增加向量(vector)容器的大小。
向量(vector)“ v”。語法為:
v.emplace_back(args);
args:傳遞了用于構(gòu)造新元素的參數(shù)。
它不返回任何值。
讓我們看一個簡單的實例。
#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()函數(shù)在向量(vector)的末尾添加新的字符值來增加向量(vector)'v'的大小。
insert()函數(shù)用于將對象復(fù)制到向量(vector)中,而emplace()函數(shù)僅用于在向量(vector)內(nèi)部構(gòu)造對象,從而避免了不必要的操作。
簡單的理解,就是 emplace() 在插入元素時,是在容器的指定位置直接構(gòu)造元素,而不是先單獨生成,再將其復(fù)制(或移動)到容器中。因此,在實際使用中,推薦大家優(yōu)先使用 emplace()。
讓我們看另一個簡單的實例。
#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()函數(shù)用于在向量(vector)的末尾(即最后一個元素之后)添加新的整數(shù)值。