=default 和没有参数的空构造函数之间的区别?

use*_*311 9 c++ c++11

=default 和没有参数的空构造函数之间的区别?

是否有区别:

MyClass() {}
MyClass() = default;
Run Code Online (Sandbox Code Playgroud)

Axe*_*rja 5

总体没有没有。;)

它总体上是一样的,但不完全一样(就像 sftrabbit、Nawaz 和 0x499602D2 建议的那样,顺便感谢)。

你会在这里找到你的问题的答案;)

  • 它会做同样的事情,但会改变类的某些属性(比如它是否微不足道)。 (9认同)
  • 它们并不完全相同。它们都将为 [`std::is_trivial<T>::value`](http://en.cppreference.com/w/cpp/types/is_trivial) 返回不同的值。 (2认同)