Re: [cpp] C++ Map 在32位模式下最大容限是多少?

陈超 alpha.1986 at gmail.com
Mon Mar 17 10:39:54 CST 2008


一般情况下,STL实现红黑树时会线索化二叉树,这样子就又增加了标志域。如果采用64位的OS的话,每个指针也都是64位了,这样就业得不偿失了。另外关于64位的系统int,long这些和32的不太一样。而且每个之间又有差别,这样跨平台的话,可能以前的代码就需要做很多修改了。

在08-3-17,李慧霸 <magazine.lihuiba at 163.com> 写道:
>
> 有如此高的内存需求,多半是服务器程序,那么64位OS是最好的选择。
>
> c++的map是用红黑树实现的,每个节点(就是每个元素)的额外开销应该不超过16字节(
> 有待求证)。"额外开销"是指除了存储你的key、value之外的开销。所以2G的地址空间
> 应该可以存放很多东西。
>
> 如果其他部分的内存开销不大,可以考虑C++ interop(不用COM),甚至直接用C++/CLI生
> 成托管代码。否则可以考虑进程外COM。
>
> ------------------
> 李慧霸
> 2008-03-17
>
> -------------------------------------------------------------
> >发件人:quengzi
> >发送日期:2008-03-13 12:27:24
> >收件人:Cpp at codingnow.com
> >抄送:quengzi at gmail.com
> >主题:[cpp] C++ Map 在32位模式下最大容限是多少?
> >
> >在C#中32位机器Hash容器最多2000万多一些(内存达到容限)
> 在C++中是否有同样的问题?
> 如果我用C++写一个COM组件,是否可以扩展内存,在Map中存放更多的内容?
> _______________________________________________
> Cpp mailing list
> Cpp at codingnow.com
> http://codingnow.com/mailman/listinfo/cpp
> >
>
> _______________________________________________
> Cpp mailing list
> Cpp at codingnow.com
> http://codingnow.com/mailman/listinfo/cpp
>



-- 
Chao Chen

P.L.A. Information Engineering University

Zhengzhou,Henan,China
Blog:http://blog.alpha1986.cn
Email:alpha.1986 at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://codingnow.com/pipermail/cpp/attachments/20080317/ca2d2a3d/attachment-0001.html


More information about the Cpp mailing list