學習C++上cppreference初始化我發現了以下(作爲值初始化「因爲C++ 11」):「沒有默認構造函數」一類型
1)如果T是沒有默認值構造一個類的類型或者使用用戶提供或刪除的默認構造函數,對象將被默認初始化; 2)如果T是一個具有既不是用戶提供也不是刪除的默認構造函數的類類型(也就是說,它可能是一個具有隱式定義或默認構造函數的類),則該對象是零初始化的然後如果它有一個不平凡的默認構造函數,它就會被默認初始化;
...
這意味着一個類類型可以有:
- 沒有;
- 用戶提供;
- 刪除;
- 隱式定義;
- 默認;
默認構造函數。
「no」默認構造函數是什麼意思?類類型總是有一個至少隱式定義(或被刪除)?