class C{
//methods and properties
}
void C::some_method(C* b){
delete this;
this = b;
}
Questo mi dà l'errore follwing durante la compilazione:cambiamento 'questo' puntatore di un oggetto al punto oggetto diverso
error: lvalue required as left operand of assignment
La mia intenzione: dire che ci sono oggetti A e B della classe C. il contenuto della classe C può essere molto grande e la copia campo per campo può essere molto costosa. Voglio che tutti i contenuti di 'a' siano sostituiti da b in modo economico.
Il costruttore di copie predefinito esegue l'operazione desiderata?
Ho trovato qualcosa chiamato 'mossa costruttore' http://akrzemi1.wordpress.com/2011/08/11/move-constructor/
Forse, si potrebbe ottenere l'effetto che voglio.
sei sicuro di poter fare qualcosa del genere ?? – DonCallisto
Così fa. Hai appena scoperto che "questo" non è riassegnabile perché * non avrebbe alcun senso *. Avete una domanda? –
'questo 'non può essere modificato. Qual è l'obiettivo di livello superiore che stai cercando di raggiungere? –