[STL ] 使用map的記憶體問題
我在使用完map後會使用map.clear()來清空map
但隨著程式的執行時間越長~記憶體的使用率也不斷攀升
直到記憶體被吃光為止~
map.clear()似乎沒有把記憶體還給系統
請問這種情形該如何解決呢?謝謝大家
PS.我是在Linux上跑 gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)
我的code大概是這樣
while(...){
map< string,vector<node> > map_graph;
map< string,vector<node> >::iterator it_map_graph;
... //在map中插入許多vector<node>
it_map_graph=map_graph.begin();
while(it_map_graph!=map_graph.end()){
((*it_map_graph).second).clear();
vector<node>().swap((*it_map_graph).second);
it_map_graph++;
}
map_graph.clear();
map< string,vector<node> > ().swap(map_graph);
}
不知道這樣寫對嗎?
我也有試過設環境變數GLIBCXX_FORCE_NEW=1~也沒用
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.182.68
推
05/12 21:07, , 1F
05/12 21:07, 1F
推
05/12 21:08, , 2F
05/12 21:08, 2F
→
05/12 21:10, , 3F
05/12 21:10, 3F
→
05/12 21:13, , 4F
05/12 21:13, 4F
推
05/12 22:24, , 5F
05/12 22:24, 5F
推
05/12 22:46, , 6F
05/12 22:46, 6F
推
05/13 01:02, , 7F
05/13 01:02, 7F
→
05/13 13:15, , 8F
05/13 13:15, 8F
→
05/13 13:40, , 9F
05/13 13:40, 9F
→
05/13 13:40, , 10F
05/13 13:40, 10F
推
05/13 16:56, , 11F
05/13 16:56, 11F
※ 編輯: jesony1 來自: 118.160.182.68 (05/13 17:37)
※ 編輯: jesony1 來自: 118.160.182.68 (05/13 17:39)
推
05/14 00:40, , 12F
05/14 00:40, 12F
→
05/14 00:40, , 13F
05/14 00:40, 13F
→
05/14 00:41, , 14F
05/14 00:41, 14F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章