首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

stl map 有什么方法可以获取 容器所占用的内存大小解决办法

2012-05-28 
stl map 有什么方法可以获取 容器所占用的内存大小RT谁知道的说下 谢谢[解决办法]探讨看实现.一般map是由

stl map 有什么方法可以获取 容器所占用的内存大小
RT 谁知道的说下 谢谢

[解决办法]

探讨
看实现.一般map是由红黑树实现的.
所以,sizeof(node)* map.size()就差不多了.
红黑树一般要三个指针和一个表示节点颜色的的bool.
所以, 如果是int.大概需要 (13+sizeof(map::value_type))*map.size().T是
实际上可能大一点点,因为还有内存对齐,一些常数大小的东西,比如比较融洽...

[解决办法]
(sizeof(key) + sizeof(value)) * map.size() + 额外的负担.
[解决办法]
探讨
引用:
看实现.一般map是由红黑树实现的.
所以,sizeof(node)* map.size()就差不多了.
红黑树一般要三个指针和一个表示节点颜色的的bool.
所以, 如果是int.大概需要 (13+sizeof(map::value_type))*map.size().T是
实际上可能大一点点,因为还有内存对齐,一些常数大小的东西,比如比较融洽...
stl中……

[解决办法]
探讨
引用:
引用:
看实现.一般map是由红黑树实现的.
所以,sizeof(node)* map.size()就差不多了.
红黑树一般要三个指针和一个表示节点颜色的的bool.
所以, 如果是int.大概需要 (13+sizeof(map::value_type))*map.size().T是
实际上可能大一点点,因为还有内存对齐,一些常数大小的东西,比如……

热点排行