Ciao a tutti, ho una domanda da chiedervi, sono nuovo della programmazione in C++ (e anche in altri linguaggi), ultimamente mentre studiavo mi è sorto questo dubbio:
Perché l'operatore di assegnamento restituisce un indirizzo?
codice:
class x{
int a;
int b;
X& operator=(const X &);
};
//...
X& X::operator=(const X & o){
a=o.a;
b=o.b;
return *this;
}
non ho dubbi sulla validità ma vorrei capire perchè è corretto in questo modo, anche se io l'ho sempre scritto cosi:
codice:
class x{
int a;
int b;
X operator=(const X &);
};
//...
X X::operator=(const X & o){
a=o.a;
b=o.b;
return *this;
}
e ha sempre funzionato.