如何将没有构造函数参数的对象放置到STL容器中

How to emplace object without constructor arguments to STL constainer?

本文关键字:STL 对象 参数 构造函数      更新时间:2023-10-16

假设我有一个类,它的构造函数没有参数,它的对象的STL容器:list<Object> lst;是否有一种方法来插入一个新的对象在地方?

我知道像lst.push_back(Object());这样的东西会工作,同样快,因为它会使用移动构造函数,但是似乎有点奇怪的是,没有函数可以简单地在列表的末尾创建新对象而不带任何参数,而已经有了可以适合那个地方的位置。

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

emplace_back()就是这样做的。

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

您可以使用lst.emplace_back();