c++ - unordered_map::clear() 释放c++中元素占用的内存?

标签 c++ c++11 std

我创建了一个 unordered_map:

std::unordered_map<int, std::vector<int> > list;
  1. 当我调用 list.clear() 时, map 的元素是否被销毁?
  2. 每个vector占用的内存是否释放?

最佳答案

  1. 是的,list.clear() 在标准中定义为破坏容器的元素。
  2. 如果你想问是否有任何内存泄漏,那么没有——所有内存都被释放,没有泄漏。但是,内存不一定会释放回操作系统。

关于c++ - unordered_map::clear() 释放c++中元素占用的内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38408294/

相关文章:

c++ - 了解使用 std::condition_variable 的示例

c++ - vector 迭代器不可取消引用,同时尝试从文件中读取

c++ - 在 C++0x 中创建静态类型变体

c++ - 从排列的解析器表达式列表中动态(在运行时)生成 Spirit 解析器表达式

c++ - std::async 与类成员函数

C++ std::map s 作为参数

c++ - 如何在 C++ 中处理多个冲突类型?

c++ - Basler Pylon 4 SDK 和 OPENCV 2.4.9,CPylonImage 到 Mat

c++ - 为 lambda 分配名称会影响性能吗?

c++ - std::unique_ptr 中的抽象类作为函数的返回不起作用