stl的vector中max_size大小仍然不够怎么办?

Skywings 2003-12-10 01:30:47
最多是2^31也就是10亿个元素,但是我现在已经达到了
再push_back他就abort了
应该怎么办呢?
有什么建议?
或者请推荐其他的lib?
...全文
55 点赞 收藏 8
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Skywings 2003-12-10
啊……deque果然0,hoho
谢谢拉
回复
Skywings 2003-12-10
尚未测试,不过貌似deque的max_size如果也是signed long int的话还是2^31.....
内存不是问题,indice不够呵呵
等下显示一下deque的max_size再来
大家有没有用什么其他的64bit或者unsigned long int的lib?
回复
liuyunhuan200 2003-12-10
自己去定义一个类可能会好点把,不一定非要调用vector类的呀~~
回复
nirvana_li 2003-12-10
按照他的来算,deque 的max_size也不够的啊....还是改算法吧..
回复
nkgd 2003-12-10
你看看在你的机器上deque的max_size是否会更大?
据The C++ Standard Library中所说:
与vector相比,在对内存区块有所限制的系统中(例如PC系统),deque可以内含更多元素,因为它使用不止一块内存。因此deque的max_size可能更大
回复
MadLee 2003-12-10
2.4G的内存,真是有钱人啊,ft。
干脆花钱雇人给你写程序算啦,省得自己伤脑筋
回复
Skywings 2003-12-10
算法很难改了,因为对速度要求太高,只好空间换时间
现在有65536个这样的大大小小的vector
用掉了我2.xG内存

刚才有人建议我换64b的lib
不过不知道怎么换

我是linux
回复
maojincxj 2003-12-10
可否改改你的算法?

用几个vector,再想方法联系这几个vector
回复
发动态
发帖子
工具平台和程序库
创建于2007-09-28

2.4w+

社区成员

C/C++ 工具平台和程序库
申请成为版主
社区公告
暂无公告