Avatar ·

Was ist Copy Elision und Return Value Optimization (RVO) in C++?

Hallo zusammen! Ich lerne C++ und bin auf die Begriffe "copy elision" und "return value optimization" (RVO) gestoßen. Ehrlich gesagt verstehe ich nicht ganz, was das ist und wozu sie gut sind. Ich habe eine einfache Klasse, die etwas im Konstruktor und Destruktor macht: ```cpp #include class MyClass { public: MyClass() { std::cout << "Constructor\n"; } MyClass(const MyClass&) { std::cout << "Copy constructor\n"; } ~MyClass() { std::cout << "Destructor\n"; } }; MyClass createObject() { MyClass obj; return obj; // Findet hier eine Kopie statt? } int main() { MyClass result = createObject(); return 0; } ``` Wenn ich diesen Code ausführe, erwarte ich zu sehen: "Constructor", dann "Copy constructor" (bei der Rückkehr aus der Funktion), dann wieder "Copy constr