c++ emplace_back与push_back
程序员文章站
2022-03-21 16:29:00
...
容器的emplace_back与push_back方法
- emplace_back针对添加的元素为 “某个对象struct、class” ,可以直接写参数,函数自动调用构造函数,而不用先创建对象再添加。
- push_back需要先创建对象,再添加。
- emplace、emplace_front类似
#include<iostream>
#include<vector>
#include<string>
using namespace std;
struct person
{
string name;
string age;
person(string _n, string _a)
:name(_n),age(_a)
{}
};
int main(void)
{
vector<person> P;
//push_back先创建再添加
person temp("mary", "15");
P.push_back(temp);
//emplace_back直接写参数添加元素
P.emplace_back("jack", "14");
for (int i = 0; i < P.size(); ++i)
cout << P[i].name << " " << P[i].age << endl;
system("pause");
return 0;
}
上一篇: c# Dictionary泛型和Hashtable性能对比
下一篇: SharpMap源代码解析