C 中的传统默认构造函数语法涉及简单地定义一个空构造函数:
S() {}
但是,C 11 引入了“=default”语法,它提供了几种好处:
#include <type_traits> struct X { X() = default; }; struct Y { Y() {} }; int main() { static_assert(std::is_trivial<X>::value, "X should be trivial"); static_assert(std::is_pod<X>::value, "X should be POD"); static_assert(!std::is_trivial<Y>::value, "Y should not be trivial"); static_assert(!std::is_pod<Y>::value, "Y should not be POD"); }
以上是为什么在 C 11 中使用 `= default` 作为默认构造函数?的详细内容。更多信息请关注PHP中文网其他相关文章!