討論串[問題] 有需要檢查 new 失敗的情形嗎?
共 5 篇文章
內容預覽:
.... 曾做過一個很小的測試將記憶體盡可能吸乾,同時觀察系統資源,. 得到的概念是:. 實體記憶體用完了會有虛擬記憶體頂,直到系統提供不了更多虛擬記憶體.. 能使用的虛擬記憶體,與系統可使用的 page file 大小有關;. 當然 page file 也跟實體記憶體有關.. 測試系統是 Wind
(還有128個字)
內容預覽:
想請問. new 失敗的原因是什麼?. 我的猜想是. 每個程式在執行時由系統配置了一塊虛擬出來的記憶體. 如果這塊虛擬記憶體上沒有足夠的連續空間供 new 使用. new 就會失敗. 如果程式本身不釋放記憶體的話. 就算重複 new 也永遠不會成功. 不知道這樣的解釋對嗎?. 如果這樣的解釋正確的話
(還有151個字)
內容預覽:
用 new(std::nothrow) 好像解決不了問題耶. 因為使用其他函式庫時,一樣得處理 new 失敗的問題. 舉例來說. #include <new>. #include <string>. int main(). {. // 要兩個 buffer,長度皆為 1024. char* buff
(還有373個字)
內容預覽:
new 常常用到. 可是 new 失敗要怎麼處理?. google 到的文章大部分都說不用處理,放給他爛. 可是不處理的話,最糟情況不就是程式當掉嗎?. 賣錢的程式理論上不可以當掉吧 .... 舉例來說. 以我的破電腦. 連續開啟 IE 到無法開啟為止. 可以發現. 最後一個開啟的 IE 視窗上的工
(還有130個字)