Der Kopierkonstruktor und die Zuweisung des MFC-Stammobjekts CObject sind standardmäßig deaktiviert.Warum CObject-Kopierkonstruktor und -zuweisung deaktivieren
- In MSDN gibt es eine description
Die Standardklasse Kopie Konstruktor ++ Standard-C hat ein Mitglied-by-Mitglied Kopie. Das Vorhandensein des privaten CObject-Kopierkonstruktors garantiert eine Compilerfehlermeldung, wenn der Kopie -Konstruktor Ihrer Klasse benötigt wird aber nicht verfügbar. Sie müssen daher einen Kopierkonstruktor bereitstellen, wenn Ihre Klasse diese Fähigkeit erfordert.
- In CObject Quellcode gibt es einen Kommentar:
den Kopierkonstruktor deaktivieren und Zuordnung standardmäßig, so dass Sie Compiler-Fehler statt unerwartetes Verhalten erhalten, wenn Sie durch Objekte übergeben Wert oder Objekte zuweisen.
Meine Frage ist, was ist das Problem mit dem standardmäßigen Bit-für-Bit-Kopierkonstruktor für diese CObject-Klasse? Meiner Meinung nach, wäre es besser, uns den Standard Copykonstruktor zu geben, und wir konnten eine, wenn nötig (tiefe Kopie)
besser entfernen Sie das MFC-Tag, um mehr Benutzer anzuziehen –
Die Antwort wird wahrscheinlich MFC-spezifisch sein, obwohl. – peterchen
Danke, es funktioniert !!! –