免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8947 | 回复: 8
打印 上一主题 下一主题

如何判断map所占用的内存啊? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-24 07:33 |只看该作者 |倒序浏览
在stl里的vector可以用capacity成员函数来判断,如何判断一个map对象所占用的内存啊?
谢谢

论坛徽章:
0
2 [报告]
发表于 2007-07-24 13:22 |只看该作者
max_size          returns the maximum number of elements that the map can hold
这个?

论坛徽章:
0
3 [报告]
发表于 2007-07-24 13:23 |只看该作者
原帖由 kuaizaifeng 于 2007-7-24 13:22 发表
max_size          returns the maximum number of elements that the map can hold
这个?


The max_size() function returns the maximum number of elements that the map can hold. The max_size() function should not be confused with the size() or (C++ Strings) capacity() functions, which return the number of elements currently in the map and the the number of elements that the map will be able to hold before more memory will have to be allocated, respectively.

应该不是

论坛徽章:
0
4 [报告]
发表于 2007-07-29 02:00 |只看该作者
顶,有哪位大侠知道啊?谢谢。

论坛徽章:
0
5 [报告]
发表于 2007-07-29 21:51 |只看该作者
map.size() * sizeof(map::value_type) + sizeof(map)

论坛徽章:
0
6 [报告]
发表于 2007-07-30 00:59 |只看该作者
原帖由 phoneix 于 2007-7-29 21:51 发表
map.size() * sizeof(map::value_type) + sizeof(map)


map.size()是指map中目前保存了多少对数;
按上面这个方程,sizeof(map::value_type)应该是指每对数所占的空间。但包括了map应用红黑树实现时所占用的内存吗?比如,个红黑树节所使用的指针。。
sizeof(map)具体指的是什么啊?这个一般都是12字节,好像和map的size无关...

论坛徽章:
0
7 [报告]
发表于 2007-07-30 02:04 |只看该作者
原帖由 yacare 于 2007-7-24 07:33 发表
在stl里的vector可以用capacity成员函数来判断,如何判断一个map对象所占用的内存啊?
谢谢


map既然是树结构
没必要象vector那样去预留空间防止数据搬移吧?
你要的哪个类似capacity的函数在map中没的

论坛徽章:
0
8 [报告]
发表于 2007-07-30 04:21 |只看该作者
我也觉得map应该不需要预分配内存。只是想知道一个map对象实际占用的内存数量。。。

论坛徽章:
0
9 [报告]
发表于 2007-08-01 11:27 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP