C++ 區域性變數和全域性變數預設如何初始化?


區域性變數和全域性變數的初始化方式相同。基本上,只要你宣告一個變數,除非你另有規定,否則編譯器將會呼叫它的預設建構函式。

語言級別的型別(如指標、“int”、“float”、“bool”等)的“預設建構函式”實際上什麼都不做,它只是在宣告時保持記憶體原樣。 這意味著它們可能是任何內容,因為你通常無法確定先前記憶體中的內容,甚至無法確定記憶體的來源。

如果你建立一個沒有建構函式的類,編譯器將為你建立一個,該建構函式只是呼叫每個成員/變數的建構函式。如果你有一個帶有引數的建構函式,但沒有不帶引數的建構函式,那麼編譯器將丟擲一個無法找到匹配建構函式的錯誤。

更新於:2019 年 7 月 30 日

585 次瀏覽

開始您的 職業生涯

透過完成課程獲得認證

開始
廣告