c++11新特性之emplace

C++11新加入的的三个成员emlace_front、empace 和 emplace_back,这三个操作,这三个操作分别对应push_front、insert 和push_back,他们都是插入数据用的。 emplace最大的特点是可以直接调用对象的构造函数,直接在对应容器的内中建立对象,省去了调用拷贝构造函数的开销。封装一个类型A,然后用A去测试

#include<vector>
#include<iostream>
using namesapce std:
class A
{
private:
	int a;
public:
	ee(int b) 
	{
		this->a = b;
	}
	ee()
	{
		this->a = 0;
	}
	ee(const ee &obi)  //拷贝构造函数
	{
		 this->a = obi.a;
	};
};
int main()
{
   vector<A> tempVec;
   tempVec.push_back(A(5)); //调用一次构造函数和一次拷贝构造函数
   tempVec.emplace_back(5);//只调用一次构造函数。提高了效率。
   return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值