读书人

stl map 有什么方法可以获取 容器所占

发布时间: 2012-05-28 17:59:33 作者: rapoo

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是
实际上可能大一点点,因为还有内存对齐,一些常数大小的东西,比如……

读书人网 >C++

热点推荐