使用emplace操作

emplace、emplace_front、emplace_back分别对应insert、push_front和push_back。

但emplace都是构造而不是拷贝元素。emplace成员会使用传递的参数在容器管理的内存空间中直接构造元素。若参数为空,则调用元素的默认构造函数。

如:

//c为容器,保存Sales_data
//使用三个参数的Sales_data构造函数
c.emplace_back("978-0590353403", 25, 15.99)
//错误:没有接受三个参数的push_back版本
c.push_back("978-0590353403", 25, 15.99)
//正确:创建一个临时的Sales_data对象传递给push_back
c.push_back(Sales_data("978-0590353403", 25, 15.99))

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐