Eine gewöhnliche Sache, die ich finde, macht "fast Standard" kopieren Konstruktoren und Zuweisungsoperatoren. Das heißt, ich befinde mich in Situationen, in denen der Compiler Kopier- und Zuweisungsoperatoren für die meisten Datenelemente verwenden würde, aber es gibt ein bestimmtes Datenelement, das anders behandelt werden muss. Dies bedeutet, dass ich explizit einen Kopierkonstruktor/Zuweisungsoperator erstellen muss, der explizit alle Datenelemente mit einfacher Kopiersemantik auflistet. Dies kann für Klassen, in denen es eine große Anzahl von Datenelementen gibt, oder später, wenn Membervariablen hinzugefügt werden, aber nicht zum Kopierkonstruktor/Zuweisungsoperator hinzugefügt werden, ärgerlich werden."fast Standard" kopieren Konstruktor (& Zuweisungsoperator) in C++
Gibt es eine Möglichkeit, dem C++ - Compiler mitzuteilen, dass ein explizit deklarierter Kopierkonstruktor/Zuweisungsoperator wie ein impliziter Operator funktionieren sollte, außer für zusätzlichen Code, der danach ausgeführt wird? (Und ist eine solche Syntax C++ 98 kompatibel, oder benötigt sie C++ 11 oder C++ 14 Unterstützung?)
Implementieren Sie einen richtigen RAII-Wrapper für diesen einen Datenelement, dann würden Standardkonstruktoren für alles funktionieren. –