C++ 區域性和全域性變數如何初始化成為預設值?
以下內容對於區域性變數和全域性變數是相同的。基本上,無論何時宣告一個變數,除非另有規定,編譯器都會呼叫其預設的建構函式。
語言級別的型別(例如指標、“int”、“float”、“bool”等)“預設建構函式”什麼都不做,它只是讓記憶體保持宣告時的狀態。 這意味著它們可能是任何內容,因為你通常無法確定記憶體中之前是什麼,甚至無法確定記憶體來自哪裡。
如果你建立一個沒有建構函式的類,編譯器會為你建立一個,該函式只是呼叫其每個成員/變數的建構函式。如果你有一個帶引數的建構函式而沒有不帶引數的建構函式,編譯器將丟擲一個錯誤,指出找不到匹配的建構函式。
廣告