我有一个关于如何将std::unique_ptr
插入到std::vector
中的问题。想象一下,我有一个如下所示的生成对象的函数:
std::unique_ptr<CObject> createObjects()
{
return std::unique_ptr<CObject> (new CObject());
}
现在在我的代码中,我有一个std::vector<std::unique_ptr<CObjects>> vec
,我这样插入元素:
vec.push_back(createObjects());
现在我的问题是:这个
unique_ptr
是移动到了向量中还是被复制了?
emplace_back
。 - user2485710std::vector<std::unique_ptr<CObject>>
吗? - rodrigoemplace_back
看起来非常有趣,但我不认为我可以在我的应用程序中使用它,因为我有一个模板,它创建从基类继承并返回基类唯一指针的对象。向量存储这些对象。 - Foaly