我上课了。它有unique_ptr。
的成员struct A
{
std::unique_ptr<int> m;
};
以下陈述应该有效
A a;
A b;
a = std::move(b);
std::swap(a, b);
但是,VC ++ 2012在编译代码时存在错误。除了使用R-Value参数手动生成自己的复制构造函数和赋值运算符之外,还有什么简单的方法可以解决这个问题吗?自动生成(例如通过宏)很好。
答案 0 :(得分:2)
不,除了宏之外,没有其他简单的方法可以解决这个问题。