Wann immer gefragt wird, warum this in C++ ein Zeiger ist – und keine self-Referenz – wird darauf verwiesen, dass this vor Referenzen in C++ eingeführt wurde. Was ich aber nie lese ist, dass eine self-Referenz einen handfesten Nachteil hätte: Da C++ die Überladung des Addressoperators & erlaubt, könnte man mit einer Referenz in Situationen kommen, in denen es unmöglich wäre, die reale Adresse eines Objekts zu bestimmen, sogar von dem Objekt selber aus:
Code: Alles auswählen
class NullAddressObject {
public:
void * operator & () {
return nullptr;
}
};
Gruß, Ky