Meines Wissens wird der Move-Konstruktor aufgerufen, wenn ein temporäres Objekt erstellt wird. Hier ist die getA()
Funktion zurückkehrt ein temporäres Objekt, aber mein Programm nicht druckt die Nachricht aus dem Zug Konstruktor:Warum wird der Move-Konstruktor nicht aufgerufen?
#include <iostream>
using namespace std;
class A
{
public:
A()
{
cout<<"Hi from default\n";
}
A(A && obj)
{
cout<<"Hi from move\n";
}
};
A getA()
{
A obj;
cout<<"from getA\n";
return obj;
}
int main()
{
A b(getA());
return 0;
}
Ich suchte mit move constructor und google führt mich nicht zu dieser Seite –