日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

map的内存释放问题

發布時間:2025/3/21 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 map的内存释放问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

map.clear()

只是把map清空了,但是內存沒有釋放,如果要釋放內存不止是要clear()掉,還要和一個空的map來進行swap,將內存釋放。

注意map中如果元素不是基本類型,也要進行內存釋放,如指針,vector要尤其注意,否則map占的內存太大,會造成程序崩潰。

下面是幾個例子:

map<string,vector<int> > map1;//插入數據map<string,vector<int> >::iterator itit1;vector<int> empty_intVector;for(itit1 = map1.begin();itit1!=map1.end(); itit1 ++){itit1->second.swap(empty_intVector);itit1->second.clear();}map<string,vector<int> > empty_map1;map1.swap(empty_map1);map1.clear();multimap<int,string> multimap1[5];//插入數據multimap<int,string> empty_multimap1;for(int i=0;i<5;i++){multimap1[i].swap(empty_multimap1);}multimap1->clear();


?

注意map<string,vector<int> > map1;

在插入數據時,也別忘記將vector<int>給swap為空的。

總結

以上是生活随笔為你收集整理的map的内存释放问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。