C++ 11 - CTOR()= default和empty CTOR(){}之间有什么区别?

Ron*_*rer -1 c++ c++11

C++ 11引入了新的关键字default来强制创建默认构造函数:

class MyClass {
    MyClass() = default; // <==
    MyClass(int num);
};
Run Code Online (Sandbox Code Playgroud)

我找不到在空构造函数上使用它的原因.

class MyClass {
    MyClass() {} // <==
    MyClass(int num);
};
Run Code Online (Sandbox Code Playgroud)

有人可以开导我吗?

Jes*_*uhl 7

= default;构造是微不足道的,这是任何曾经提供的构造用户-即使是空的.