如何创建带有不可复制和不可分配对象的向量?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何创建带有不可复制和不可分配对象的向量?相关的知识,希望对你有一定的参考价值。
我有课
class A
public:
A(int x): x_(x)
void SetValue(int m) x_=m;
private:
DISALLOW_COPY_AND_ASSIGN(A);
;
我正在尝试创建A型对象的向量
vector<std::unique_ptr<A>> objects;
objects.reserve(10);
for (int i = 0; i < 10; i++)
auto a = MakeUnique<A>();
a->SetValue(20);
objects.emplace_back(a);
这将导致对已删除的'std::unique_ptr<A, std::default_delete<A> >'
构造函数的编译错误调用>
我有一个类class A public:A(int x):x_(x) void SetValue(int m)x_ = m;私人:DISALLOW_COPY_AND_ASSIGN(A); ;我正在尝试创建类型为A的对象的向量vector <:...>
答案
std::unique_ptr
是不可复制的,因此您需要将其移入容器:
以上是关于如何创建带有不可复制和不可分配对象的向量?的主要内容,如果未能解决你的问题,请参考以下文章
带有 Typescript 和 react-redux 的有状态组件:“typeof MyClass”类型的参数不可分配给 Component 类型的参数