問題:
預設建構函數,由編譯器自動生成,初始化C中的內建型別?
答案:
不,預設建構子(由編譯器為沒有使用者定義建構子的類別建立)不會初始化內建類型的成員。
但是,要注意的是,還有其他不涉及預設值的初始化類別實例的機制建構子:
範例:
考慮以下類別:
class C { public: int x; };
編譯器-C提供的預設建構函式不會初始化C ::x.
C c; // Compiler-provided default constructor is used // c.x contains garbage
相反,使用值初始化或聚合初始化將對C::x:
C c = C(); // Uses value-initialization instead of default constructor // c.x == 0 C d{}; // Aggregate initialization // d.x == 0
以上是C 的預設建構函式是否初始化內建型別成員?的詳細內容。更多資訊請關注PHP中文網其他相關文章!