我试图了解何时调用移动构造函数,并编写了这段简单的代码:
class myClass
{
public:
myClass(int value)
{
cout << "This is my constructor" << endl;
}
myClass(const myClass& other)
{
cout << "This is my copy constructor" << endl;
}
myClass(myClass&& other)
{
cout << "This is my move constructor" << endl;
}
};
int main()
{
myClass a(myClass(3));
}
输出结果为:
这是我的构造函数
我理解构造函数是为myClass(3)调用的。我的问题是,为什么移动(甚至复制)构造函数不能将内存移动到'a'?