如何清除地图与地图在它


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

是否足以释放test使用的所有内存,或者我必须迭代map以逐个释放内部map和vector ?

是的,您的代码足以清除内部映射及其包含的向量。容器的析构函数将负责清除映射的键和值中保存的资源。当然,清空的map本身不会被释放,除非它被销毁,要么是超出作用域,要么是它的所有者对象被删除。

释放所有子容器分配的所有内存就足够了。

最新更新