C++裡面對於比如整型變數,如果使用預設的初始化,它的值是不確定狀態。
也許你在debug模式下,可以看到int被初始化成了整型0,但是到release模式,就會發現這個值並不是這樣。
經常會導致程式碼調式的時候都是好的,但是一旦使用release編譯,就會出現奇怪的問題。
下面舉個例子,我會對整型使用不同型別的初始化方式,請忽略記憶體沒有釋放的問題。
首先新建一個專案:
接著使用不同的初始化方式,分配int空間。
可以看到,輸出的3個值都是0,沒有任何問題。
現在我們調整使用Release模式編譯,執行。
可以看到第一種使用預設初始化方式輸出的值,並不是0。
使用string型別,預設的初始化是使用類的default constructor。所以不會有任何問題。
最新評論