In welchen Situationen wird der C ++ - Kopierkonstruktor aufgerufen?
Ich kenne die folgenden Situationen in c ++, in denen der Kopierkonstruktor aufgerufen würde:
Wenn einem vorhandenen Objekt ein Objekt seiner eigenen Klasse zugewiesen wird
MyClass A,B;
A = new MyClass();
B=A; //copy constructor called
Wenn eine Funktion als Argument ein als Wert übergebenes Objekt einer Klasse erhält
void foo(MyClass a);
foo(a); //copy constructor invoked
Wenn eine Funktion (nach Wert) ein Objekt der Klasse zurückgibt
MyClass foo ()
{
MyClass temp;
....
return temp; //copy constructor called
}
Bitte zögern Sie nicht, meine Fehler zu korrigieren. Ich bin aber eher neugierig, ob es andere Situationen gibt, in denen der Kopierkonstruktor aufgerufen wird.