未初始化變數引發執行時故障

qq_31339891發表於2019-03-27

@TOC(C++primer)

未初始化的變數含有一個不確定的值,使用未初始化變數的值是一種錯誤的變成行為並且很難除錯。
儘管大多數編譯器都能對一部分使用未初始化變數的行為提出警告,但嚴格來說,編譯器並未被要求檢查此類錯誤。

使用未初始化的變數將帶來無法預計的後果。有時我們足夠幸運,一訪問此類物件程式就崩潰並報錯,此時只要找到崩潰的位置就很容易發現變數沒被初始化的問題。
另外一些時候,程式會一直執行完併產生錯誤的結果。
更糟糕的情況是,程式結果時對時錯、無法把握。而且,往無關的位置新增程式碼還會導致我們誤以為程式就對了,其實結果仍舊有錯。

相關文章