首頁>技術>

C++裡面對於比如整型變數,如果使用預設的初始化,它的值是不確定狀態。

也許你在debug模式下,可以看到int被初始化成了整型0,但是到release模式,就會發現這個值並不是這樣。

經常會導致程式碼調式的時候都是好的,但是一旦使用release編譯,就會出現奇怪的問題。

下面舉個例子,我會對整型使用不同型別的初始化方式,請忽略記憶體沒有釋放的問題。

首先新建一個專案:

接著使用不同的初始化方式,分配int空間。

可以看到,輸出的3個值都是0,沒有任何問題。

現在我們調整使用Release模式編譯,執行。

可以看到第一種使用預設初始化方式輸出的值,並不是0。

使用string型別,預設的初始化是使用類的default constructor。所以不會有任何問題。

11
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 開源專案免費申請JetBrains全家桶License