【发布时间】:2020-09-30 08:44:06
【问题描述】:
如果我有这样的 std::map std::map<int, std::list<int> > myMap;
在地图中填充了列表并且我希望稍后清除所有元素之后,是否只需执行 myMap.clear(); 就足够了,还是我应该先浏览地图中的每个元素并先清除每个列表?
【问题讨论】:
-
对所有成员对象和基类型对象递归地进行破坏。
clear()将销毁节点,这将销毁包含的数据,如果该数据恰好是一个带有析构函数的对象,则会被调用。