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中文網其他相關文章!