如何在没有构造函数参数的情况下将对象置于STL容器中?

时间:2014-07-17 12:55:54

标签: c++ stl containers emplace

假设我有一个没有参数的构造函数的类,以及它的对象的STL容器:list<Object> lst;有没有办法在适当的位置插入新对象?

我知道像lst.push_back(Object());这样的东西会起作用,同样快就像使用移动构造函数一样,但是在没有函数简单地在列表的末尾创建新对象似乎有点奇怪任何争论,虽然已经有适合那个地方的安慰。

如果实际上不可能,请你提供一些解释吗?

2 个答案:

答案 0 :(得分:7)

好吧,emplace_back()正是如此。

只需使用lst.emplace_back();,该函数将在列表末尾创建一个对象。

答案 1 :(得分:2)

你可以使用 lst.emplace_back();