【问题标题】:C++11 - What is the difference between CTOR() = default and empty CTOR(){}? [duplicate]C++11 - CTOR() = default 和空 CTOR(){} 有什么区别? [复制]
【发布时间】:2018-04-24 09:59:14
【问题描述】:

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

class MyClass {
    MyClass() = default; // <==
    MyClass(int num);
};

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

class MyClass {
    MyClass() {} // <==
    MyClass(int num);
};

有人能告诉我吗?

【问题讨论】:

    标签: c++ c++11


    【解决方案1】:

    = default; 构造函数是 trivial,从来没有用户提供的构造函数是 - 甚至是空的。

    【讨论】:

    • 如果可能,请注意= default; 构造函数默认为constexpr 和/或noexcept 可能也很重要。
    猜你喜欢
    • 2019-04-24
    • 2016-10-10
    • 2011-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-11
    • 2016-07-25
    相关资源
    最近更新 更多