[問題] vector<int *> 會有 memory leak 問題嗎?

看板C_and_CPP作者 (藍影)時間13年前 (2011/03/09 15:09), 編輯推噓5(503)
留言8則, 5人參與, 最新討論串1/5 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) vs2008 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 使用動態配置之 vector<int *> 是否會有 memory leak 問題 ? 程式碼(Code):(請善用置底文網頁, 記得排版) #define M 5 #define N 4 vector<int *> v; int *ptr=NULL; for(size_t m=0; m!=M; ++m){ ptr = new int[N]; for(size_t n=0; n!=N; ++n){ ptr[i] = rand() %100; v.pushback(ptr); } } 請問這段程式碼是否會有 memory leak ? 補充說明(Supplement): 另問另一問題, 這陣子遇到一些問題, 要做暴力之列舉, 陣列索列次數增加 爬文後看到這東西 #1DI1lIAy , 若 comiler 為 dev-c, 試問有分 relase mode 及 debug mode 嗎? 另在 dev-c 有辦法把 checked iterators 相關的 bounding check 關掉嗎? 謝謝各位先進不吝指教, 感激不盡! -- YouLoveMe() ? LetItBe() : LetMeFree(); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.177.76.142

03/09 16:00, , 1F
看到一個 new 就得要有一個 delete
03/09 16:00, 1F
for(i=0; i<v.size(); ++i) delete v[i]; 請問是這麼做嗎? ※ 編輯: tropical72 來自: 180.177.76.142 (03/09 16:03)

03/09 16:20, , 2F
03/09 16:20, 2F

03/09 16:39, , 3F
for(size_t m; m!=M; ++m) delete v[m]; 好像不能這樣
03/09 16:39, 3F

03/09 17:19, , 4F
原PO這段程式是想做什麼?
03/09 17:19, 4F

03/09 17:50, , 5F
我整理一下我的問題再重發好了
03/09 17:50, 5F

03/09 18:23, , 6F
03/09 18:23, 6F

03/09 21:18, , 7F
for(i=0;i<v.size();i++) delete[] v[i];
03/09 21:18, 7F

03/10 01:01, , 8F
感謝樓上,正是我要的.
03/10 01:01, 8F
文章代碼(AID): #1DToUgfB (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1DToUgfB (C_and_CPP)