Was ist die Copy-and-Swap-Idiom in C++?
Hallo zusammen! Ich lerne C++ und versuche, das korrekte Schreiben des Copy-Konstruktors und des Zuweisungsoperators zu verstehen. Ich habe über die Dreierregel gelesen, aber oft stoße ich auf eine Erwähnung einer "Copy-and-Swap"-Idiom. \n\nIch habe eine einfache Klasse, die dynamischen Speicher verwaltet:\n\n```cpp\nclass String {\npublic:\n String(const char* str = "") {\n size = strlen(str);\n data = new char[size + 1];\n strcpy(data, str);\n }\n \n ~String() { delete[] data; }\n \n // Copy-Konstruktor\n String(const String& other) {\n size = other.size;\n data = new char[size + 1];\n strcpy(data, other.data);\n }\n \n // Zuweisungsoperator - hier habe ich Probleme\n String& operator=(const String& other) {\n // Wie man richtig
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen