C++ Primer - Ueberschreiben von this?
-
Hallo,
ich habe grade im C++ Primer weitergelesen und sehe da auf der Seite 304 folgende
CTor-Definition:TextQuery() { memset(this, 0, sizeof(TextQuery)); }
Da frage ich mich doch gerade: Ist das nicht toedlich? Ich ueberschreibe damit
doch die aktuell angelegte Instanz mit 0.mfg
v R
-
Naja, es wird ja nur der Speicher mit 0ern überschrieben. Alle Instanzvariablen würden also einfach mit 0 belegt werden. Mehr sollte eigentlich nicht passieren.
-
virtuell Realisticer schrieb:
Da frage ich mich doch gerade: Ist das nicht toedlich? Ich ueberschreibe damit doch die aktuell angelegte Instanz mit 0.
bloß die members und (nichtvirtuellen) basisklassen. der eigene vptr wird vermutlich ohne ihn nochmal auszulesen nach deinen konstruktor auf die korrekte vtbl gesetzt.
natürlich ist das im allgemeinen tödlich. der autor wird schon drauf geachtet haben, daß man es mit TextQuery machen darf. ich würde es nicht unedingt zur nachahmung empfehlen.
-
Hallo,
gut. Ich hatte sowas bis jetzt noch nie gemacht und werde es besser auch in ferner
Zukunft nicht tuen, egal ob es moeglich waere oder nicht.mfg
v R