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

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还长的数组也不是不可能用到”

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