C++常问的Vector,map内存释放

时间:2021-06-06 19:46:16   收藏:0   阅读:0


#include <iostream>
#include<string>
#include <vector>
#include <map>
using namespace std;

int main()
{
vector<int> bgX{5, 10};
//方法1
bgX.erase(bgX.begin(), bgX.end());
bgX.clear();
bgX.shrink_to_fit();//c++ 11后增加的,具有异常回滚机制,比较符合鲁棒性

//方法2
vector<int>().swap(bgX);//强制空交换,达到彻底回收内存效果,简单粗暴,如果内存是使用指针申请内存的,注意先delete等释放操作

map<string, string>bgY{ {"x","y"},{"a","b"} };
//方法1
map<string, string>().swap(bgY);
return 0;
}

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!