C++11 - CTOR() = default 和空 CTOR() 有啥区别? [复制]
Posted
技术标签:
【中文标题】C++11 - CTOR() = default 和空 CTOR() 有啥区别? [复制]【英文标题】: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);
;
有人能告诉我吗?
【问题讨论】:
【参考方案1】:= default;
构造函数是 trivial,从来没有用户提供的构造函数是 - 甚至是空的。
【讨论】:
如果可能,请注意= default;
构造函数默认为constexpr
和/或noexcept
可能也很重要。以上是关于C++11 - CTOR() = default 和空 CTOR() 有啥区别? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
在 C++11 中“删除”复制 ctor/assignment
调用复制 ctor 而不是移动 ctor - 编译器可以发出警告吗?