可以使用std::make_unique函数来创建新的std::unique_ptr,然后使用std::vector的emplace_back函数将其添加到vector中,而不是使用push_back函数。这样可以避免编译器不必要的拷贝操作,并且可以保证在添加指针时调用正确的构造函数。例如:
#include
#include
int main()
{
std::vector> v;
// 正确的添加方法
v.emplace_back(std::make_unique(42));
return 0;
}
下一篇:不向下滚动到底部