0
在C++程序中是否有任何方法來檢查一個變量的聲明是否沒有適當的資源?有時候這樣的檢查很重要。(C++)如何檢查變量是否有資源?
例如:
int i=0;
通常會工作,但如果系統沒有資源,它(RAM /等),它會失敗/段錯誤的/ etc。
int *i;
同樣會在這種情況下失敗,所以new
我不認爲會是一個解決方案。
在C++程序中是否有任何方法來檢查一個變量的聲明是否沒有適當的資源?有時候這樣的檢查很重要。(C++)如何檢查變量是否有資源?
例如:
int i=0;
通常會工作,但如果系統沒有資源,它(RAM /等),它會失敗/段錯誤的/ etc。
int *i;
同樣會在這種情況下失敗,所以new
我不認爲會是一個解決方案。
這時候可變進入範圍或初始化(它的「小」更難,因爲編譯器將優化變量到寄存器重用內存等) 處理內存錯誤發生的時候是標準的方式「檢查」執行。隨着操作系統處理堆棧增長以及可用於應用程序的內存 - 「原子」操作是必需的。 假設情景 -
b)上下文切換髮生,其他一些其他應用帶走所有珍貴的記憶
C)你的應用程序試圖採取空間,已經在應用b的髒手)
如果你沒有連得4個字節留在無論如何,你可以做的不多。你甚至無法調用'退出'或者展開堆棧。 – delnan
自動分配「int」將失敗的唯一時間是當您用完堆棧。這基本上是一個關於[如何避免]的問題(http://stackoverflow.com/questions/12146201/how-to-handle-or-avoid-a-stack-overflow-in-c)。 – jrok
我原以爲'exit'會是或多或少的一個'pop()'類型的命令,不需要'push()'。 – ConfusedStack