class MyClass
{
public:
int a;
MyClass(int r): a(r) {}
MyClass(const MyClass& ref)
{
cout << "Copy Constructor\n";
a= ref.a;
}
};
int main()
{
MyClass obj(5);
MyClass obj1(MyClass(5)); //Case 1
MyClass obj2(obj); //Case 2
return 0;
}
Warum der Kopierkonstruktor aufgerufen wird, in Fall 2, nicht in Fall 1. Im Fall 1 ein temporäres Objekt als Argument übergeben wird.Warum Konstruktor kopieren nicht, wenn Pass temporäre Objekt namens
'-fno-elide-constructors' –
-fno-elide-Konstrukteuren verwendet, während auch den Anruf tätigen Kompilieren DINT kopieren Konstruktor – Akshat
nach dem Bearbeiten wieder eröffnet –