Was macht ein automatisch generirter Zuweisungsoperator
-
ruft er den Kopierkonstruktor auf oder verhält er sich wie eine automatisch definierter Kopierkonstruktor?
-
ness schrieb:
ruft er den Kopierkonstruktor auf oder verhält er sich wie eine automatisch definierter Kopierkonstruktor?
AFAIK letzteres (wieso sollte er den Kopierkonstruktor aufrufen? Da müßte er ja unnötigerweise ein neues Objekt erzeugen). Ein automatisch definierter Zuweisungsoperator muß für Kompatibilität zu C-Code sorgen und kopiert deswegen deine Klasse bitweise. Deswegen sind die Dinger auch gefährlich, wenn deine Klasse Zeiger enthält.
Moritz
-
ness schrieb:
ruft er den Kopierkonstruktor auf oder verhält er sich wie eine automatisch definierter Kopierkonstruktor?
Er ruft für jedes Attribut dessen Zuweisungsoperator auf.
Für built-in und POD-Typen wird eine bitweise-Kopie gemacht.