Unrue
27-09-2008, 11:50
Ciao ragazzi,
ho un dubbio sull'operatore = quando si usano gli auto_ptr.
Supponiamo di avere:
class ClasseA{
ClasseC*punt_c;
}
// nel main:
auto_ptr<ClasseA> punt_1 (new ClasseA);
auto_ptr(ClasseA) punt_2;
punt_2 = punt_1;
L'operatore = di auto_ptr, fa un release automatico di punt_2 dopo aver copiato il contenuto di punt_1 in punt_2. Ma cosa succede al puntatore punt_c? In poche parole, l'operatore = fa una "deep copy"? O no?
ho un dubbio sull'operatore = quando si usano gli auto_ptr.
Supponiamo di avere:
class ClasseA{
ClasseC*punt_c;
}
// nel main:
auto_ptr<ClasseA> punt_1 (new ClasseA);
auto_ptr(ClasseA) punt_2;
punt_2 = punt_1;
L'operatore = di auto_ptr, fa un release automatico di punt_2 dopo aver copiato il contenuto di punt_1 in punt_2. Ma cosa succede al puntatore punt_c? In poche parole, l'operatore = fa una "deep copy"? O no?