当前位置: 技术问答>linux和unix
STL map在使用过程中用了clear为什么在Top as中还是看不到内存释放呢?
来源: 互联网 发布时间:2016-05-08
本文导语: STL map在使用过程中用了clear为什么在Top as中还是看不到内存释放呢? 有没有人遇到类似的问题? | 所谓内存池。 不需要马上释放啊,如果接下来又要有内存分配,就不需要从系统申请了。 ...
STL map在使用过程中用了clear为什么在Top as中还是看不到内存释放呢?
有没有人遇到类似的问题?
有没有人遇到类似的问题?
|
所谓内存池。
不需要马上释放啊,如果接下来又要有内存分配,就不需要从系统申请了。
不需要马上释放啊,如果接下来又要有内存分配,就不需要从系统申请了。
|
基于性能考虑,STL内部实现了小片内存的内存池管理技术。如果需要的内存较小,则从内存池获取,否则malloc去获得大片内存。所以clear后,只有额外申请的大片内存才会被真正释放,小片内存则回收到内存池。
|
clear 只是将MAP中的NODE给释放了,那些NODE只是保存的一个指针吧。 指针指向的内存块如果是手动分配的则
就需要自己DELETE
就需要自己DELETE
|
LZ可以了解一下allocator的概念。
STL中分配内存和你自己new不是一个概念。
STL中分配内存和你自己new不是一个概念。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。