Q
值未初始化
2
A
回答
14
「......假設我有...」你有它其中?
如果你在命名空間範圍內有這樣的事情,那麼它是一個靜態存儲持續時間的對象,它始終是零初始化的。
如果你在本地範圍內有這樣的東西,那麼它就是一個自動存儲持續時間的對象,它根本沒有被初始化。 array[0]
的值是不可預知的。不,沒有辦法判斷是否有人故意初始化。
+0
@Jake讓你自己變得簡單,並且總是這樣做'array [20] = {0};'。 – Dennis 2011-05-04 07:16:06
2
它基本上是垃圾或任何價值是在特定的記憶點。您無法檢測它是否已被初始化。
0
它將處於所謂的不確定狀態,在大多數實現中意味着無論在該內存中何時內存被數組佔用 - 通常稱爲垃圾。
3
0
它是未定義的,取決於編譯器和發佈的風格:一些編譯器會在調試中填充一個模式,但不會在發佈時執行。 在任何情況下,依靠編譯器並試圖檢查它,而不是正確初始化是一種不好的做法,並可能導致您遇到重大問題。
0
有沒有辦法檢查它是否已經初始化?
有沒有必要檢查。除非你明確地初始化它,它保持未初始化。
相關問題
- 1. 未初始化的初始值常量
- 2. 未初始化的值 - Valgrind
- 3. 使用未初始化值
- 4. 未初始化值8
- 5. 未初始化值$`在Perl
- 6. RAII和未初始化值
- 7. 初始化值
- 8. 初始化值
- 9. 值初始化
- 10. 直接初始化與值初始化
- 11. 值初始化vs集合初始化
- 12. ProgressIndicatior未初始化
- 13. SelectCommand.Connection未初始化
- 14. SWFUpload未初始化
- 15. Phaser.State未初始化
- 16. Firebase未初始化
- 17. URLProtocol未初始化
- 18. Applet未初始化
- 19. java.lang.IllegalStateException:ApplicationEventMulticaster未初始化 -
- 20. TilesContainer未初始化
- 21. Module.DEFAULT_REFLECTOR未初始化
- 22. ImageView未初始化
- 23. CRT未初始化
- 24. Android:java.lang.NullPointerException:CameraUpdateFactory未初始化
- 25. $ _POST未初始化
- 26. ArrayList未初始化
- 27. java.lang.IllegalStateException:ApplicationEventMulticaster未初始化
- 28. CameraUpdateFactory未初始化
- 29. 開始:Applet未初始化
- 30. 靜態初始化C++,未設置值
相關是[閱讀未初始化的變量是未定義的行爲](http://stackoverflow.com/questions/4259885/why-do-i-see-strange-values-when-i-print-uninitialized-variables/4259991 #4259991),所以千萬不要考慮這樣做。 – GManNickG 2011-05-04 05:46:03