0

您好,我有一个简单的问题:如果我有一个类,它的构造函数采用例如整数,那么如果我复制初始化该类的对象,则调用复制构造函数或构造函数:

class M 
{
    public:
        M(int) { cout << "M(int)\n"; }
        M(const M&) = delete;
        M(const M&&) = delete;
};


int main()
{

    M m = 9; // why M(int) is called but not a copy-ctor or move-ctor?
}
  • 正如你所看到的,我在这里有一个模棱两可的地方:M m = 9;我认为它是一种Copy-initialization通常我认为应该调用 copy-ctor 或 move-ctor 的形式。我已声明主题已删除以获取编译时错误,但它有效吗?
4

0 回答 0