没辙了!!!急!new vector问题,怎么只能分配100多?能不能分配更多,怎么解决?在线等待!!!

roober 2003-10-18 05:04:38
我用new vector<float>;动态分配内存处理数据,但最多只能分配100多。
请教:1。是不是new语句动态分配的数量只有100多?还是有一个限制?
2。有没有别的办法扩大分配数量?
...全文
183 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
south2000 2003-10-26
  • 打赏
  • 举报
回复
up
kahn 2003-10-26
  • 打赏
  • 举报
回复
far?
daizh 2003-10-26
  • 打赏
  • 举报
回复
vector有自己的内存分配函数,而且它会根据具体情况来加大它的内存空间,如果你要预先分配给它一个空间,那么你就用它的成员函数vector::reserve()来分配。
showming 2003-10-26
  • 打赏
  • 举报
回复
学习中!
Wolf0403 2003-10-19
  • 打赏
  • 举报
回复
一个问题不要到处乱贴。。。受不了了。
vector 不应该用 new 分配在堆上
leyt 2003-10-19
  • 打赏
  • 举报
回复
不用new,想扩大分配数量用reserve来设置容量

vector<float> fvec;
fvec.reserve(100000); //把容量设置为100000
xiaohyy 2003-10-19
  • 打赏
  • 举报
回复
用new也没什么问题,直接分配就是了。

vector<float>* p = new vector<float>;
xyxcg 2003-10-19
  • 打赏
  • 举报
回复
不需要用new,直接分配就可以嘛.
winco 2003-10-19
  • 打赏
  • 举报
回复
不懂不懂啊
njSeeWhy 2003-10-19
  • 打赏
  • 举报
回复
vector自己会管理自己的内存,为什么要用new?
xueweizhong 2003-10-18
  • 打赏
  • 举报
回复
vector<float>* p = new vector<float>(10000);

or

vector<float>* p = new vector<float>;
p->reserve(10000);

ttlb 2003-10-18
  • 打赏
  • 举报
回复
1如果每个vector默认分配1000个int,那1000*1000*4就是4000000个字节,四百万哪!
我的理解,不知道对不对。
2还不知道,一起等高手

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧