class C{
//methods and properties
}
void C::some_method(C* b){
delete this;
this = b;
}
Это дает мне ошибку при компиляции:
error: lvalue required as left operand of assignment
Мое намерение: Скажем, есть объекты a и b класса C. содержимое класса C может быть очень огромным, а полевое копирование может быть очень дорогостоящим. Я хочу, чтобы все содержимое "a" было заменено на b экономичным способом.
Будет ли конструктор копирования по умолчанию выполнить задание?
Я нашел что-то под названием "move constructor" http://akrzemi1.wordpress.com/2011/08/11/move-constructor/
Возможно, он может получить эффект, который я хочу.