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

以上是否足以释放测试使用的所有内存,或者我必须迭代映射以一一释放内部映射和 vector ?

最佳答案

是的,您的代码足以清除内部映射及其包含的 vector 。容器的析构函数将负责清除映射的键和值中保存的资源。当然,清空的映射本身不会被释放,直到它被销毁,无论是超出范围还是由于其所有者对象被删除。

关于c++ - 如何清除带有 map 的 map ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17200870/

10-11 22:24
查看更多