您好,我有一个简单的问题:如果我有一个类,它的构造函数采用例如整数,那么如果我复制初始化该类的对象,则调用复制构造函数或构造函数:
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 的形式。我已声明主题已删除以获取编译时错误,但它有效吗?