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

stl跟qt里的容器,容量的限制在哪

2013-07-09 
stl和qt里的容器,容量的限制在哪?stl里的size()返回类型是size_type,手册里说This expression must be a t

stl和qt里的容器,容量的限制在哪?
stl里的size()返回类型是size_type,手册里说
This expression must be a typedef, that is, a synonym for a type that already has some other name.
是否意味着这个无符号整型可以是uint也可以是ulong?

qt里模仿stl的容器在size()的返回类型上就比较单一了,是int

那么这些容器的容量是否就受这些数据类型的取值范围限制呢?一个比int还长的数组也不是不可能用到
[解决办法]

引用:
stl里的size()返回类型是size_type,手册里说
This expression must be a typedef, that is, a synonym for a type that already has some other name.
是否意味着这个无符号整型可以是uint也可以是ulong?

qt里模仿stl的容器在size()的返回类……
没办法分配那么多内存的,所以int范围足够了
[解决办法]
32位是4G,服务器的内存十多G这都是很正常的事了,所以在64位的系统中,用得上也不奇怪
[解决办法]
真想用比如大于32GB的数组,可以用文件读写模拟内存读写,参考_lseeki64函数。
[解决办法]
size_type max = ~0U;

从现实来讲,这不算一个限制,可以使用局部化原则处理数据便是。STL是要通用,不是万能。
[解决办法]
“一个比int还长的数组也不是不可能用到”

还真不可能,如果有这个需求,你的算法得改了。

热点排行