c++ - 如何释放unordered_set的内存?

标签 c++ free unordered-set

我想知道如何释放 std::unordered_set 占用的内存?

我认为 unordered_set::clear() 只是清除集合而不释放内存。

我需要释放本地函数持有的 unordered_set 。每次调用本地函数都会消耗一些内存,所以我需要在本地函数结束时释放它。

谢谢

最佳答案

清除unordered_set内存的常用方法与任何标准容器相同:

set = std::unordered_set<T>()

您还可以使用:

std::unordered_set<T>().swap(set)

这是在右值引用出现之前从容器中释放内存的常用方法。

您应该将 T 替换为集合中包含的对象的类型。

关于c++ - 如何释放unordered_set的内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8102198/

相关文章:

c - 如何有效释放树木

windows - Windows 内核中的 free/malloc 函数

c++ - FE设计中的实现继承问题

c++ - USB 事件处理

C++ 条件字符串[i]

c - 如果我们不能释放它,malloc 行为是什么

c++ - pythonqt 对数百万对象的可扩展性

c++ - 来自 std 的 unordered_set

c++ - Unordered_Set的迭代器抛出奇怪的错误

c++ - 在 unordered_set 中存储多态对象