線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:868
推到 Plurk!
推到 Facebook!

記憶體突然爆增(vector)

尚未結案
isspice
一般會員


發表:23
回覆:12
積分:7
註冊:2004-04-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-08 00:12:00 IP:140.125.xxx.xxx 未訂閱
各位先進您們好 我想請問大家有關vector釋放的問題~~ 因為我的程式跑大約二十幾個小時候就會出現"out of system"的訊息然後記憶體突然爆增~~程式最後會自動關閉~~ 我Debugger很久~~該delete的都有做~~但是就是找不出問題~~所以我猜想是不是vector的問題  以下是vector宣告部分    class ObjectClass {   public:       int ID;       float Score;       int Up,Down,Left,Right; }; vector<ObjectClass> ObjContainer; class CarContainerClass { public: int HighestIndex; vector<ObjectClass> Container; CarContainerClass(){MiddleIndex=1;} }; vector Database; 過程中我會push_back一些東西進去~~ 到最後就用Database.clear();ObjContainer.clear();來釋放記憶體 請問vector是用這樣來釋放的嗎??用.clear()就夠了嗎?還是還要加其它的方式呢~~謝謝請指教~~
justdo
高階會員


發表:2
回覆:359
積分:222
註冊:2004-08-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-17 19:55:07 IP:221.169.xxx.xxx 未訂閱
vector的clear() 函式只有清除所有的元素(包含呼叫元素的解構函式),但是並沒有歸還記憶體空間給作業系統 只有vector物件解構的時候才會歸還其擁有的記憶體空間 不過這樣應該還不至於造成 out of system... 你塞了多少元素進去vector物件呢?
系統時間:2024-05-17 13:27:27
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!