为什么移动构造函数不在此处调用?

时间:2016-04-03 04:42:13

标签: c++ constructor

我试图了解何时调用移动构造函数,并编写了这段简单的代码:

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'?

0 个答案:

没有答案