欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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++