如何清除地图中的地图?

时间:2013-06-19 20:38:50

标签: c++

map<int, map<int, vector<string> > > test;
// some statement to assign values to test
test.clear();

是否足以释放测试使用的所有内存,或者我必须迭代地图以逐个释放内部地图和矢量?

2 个答案:

答案 0 :(得分:7)

是的,您的代码足以清除内部地图及其包含的向量。容器的析构函数将负责清除键中的资源和映射的值。当然,清空地图本身在被摧毁之前不会被解除分配,无论是超出范围还是删除其所有者对象。

答案 1 :(得分:1)

释放所有子容器分配的所有内存就足够了。所有STL容器都是如此。