stl文件1个G内存G怎么办

使用新的地图被调用但没有删除任何删除..任何人都可以解释为什么? NOt调用erase()会导致内存G泄漏或者当内存G超出范围时内存G会自动释放。

映射使用raii tecnique来避免资源泄漏映射永远不会保持传递给它的句柄,但是它会使用复制构造函数进行分配以便它可以独立删除以确保raii。这是autoptr不能与map一起使用的一个原因

STL map通常会分配更大的内存G块并使用 placement-new 来构造包含的对象记忆。然后通常会保留未使用的内存G并在下次插入时重新使用。当地图超出范围时內存G删除。

请注意您可以为std提供自己的allocator模板参数类:: map如果你想研究地图如何分配和释放内存G。


这意味着即使我在插入后没有调用擦除┅旦地图离开,内存G将自动释放范围
  • 用 户 组: 普通用户
  1. //STL 内存G管理器的C實现







  2. //从内存G池取连续的块空间

我要回帖

更多关于 内存G 的文章

 

随机推荐