class C{
//methods and properties
}
void C::some_method(C* b){
delete this;
this = b;
}
这在编译时给了我以下错误:
error: lvalue required as left operand of assignment
我的意图:假设有 C 类的对象 a 和 b。C 类的内容可能非常庞大,逐个字段的复制可能非常昂贵。我希望以经济的方式将 ' ' 的所有内容a
替换为 ' b
'。
默认的复制构造函数会完成预期的任务吗?
我发现了一个叫做“移动构造函数”的东西 http://akrzemi1.wordpress.com/2011/08/11/move-constructor/
也许,它可能会得到我想要的效果。