没辙了!急!!!help!new能不能分配vector到1000个。不能的话,怎么分配内存。在线等待。。。。。。。。。。。。。。

roober 2003-10-18 04:59:07
我用new vector<float>;动态分配内存处理数据,但最多只能分配100多。
请教:1。是不是new语句动态分配的数量只有100多?还是有一个限制?
2。有没有别的办法扩大分配数量?
...全文
45 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyswift 2003-10-19
  • 打赏
  • 举报
回复
vector的构造函数会自动调用new来分配内存,而且它的内存是分级的,还会有相关的出错处理。所以不要自己来分配内存。。
你看看STL源码剖析那本书就应该会明白了
nbb 2003-10-18
  • 打赏
  • 举报
回复
你还可以 vector<int> v(50000), 一样的效果
nbb 2003-10-18
  • 打赏
  • 举报
回复
vector<int> v = vector<int>(50000);什么意思?

----直接调用vector的一个构造函数来构建v,并且同时分配50000个元素
langzi8818 2003-10-18
  • 打赏
  • 举报
回复
vector 对象会自动分配堆内存存放数据。一般不要用 new 分配 vector 对象到堆上。
vector<int> v = vector<int>(50000);
这样就 OK 了,而且没问题。

正解

为什么是正解?
偶不懂了
vector<int> v = vector<int>(50000);什么意思?
nbb 2003-10-18
  • 打赏
  • 举报
回复
vector 对象会自动分配堆内存存放数据。一般不要用 new 分配 vector 对象到堆上。
vector<int> v = vector<int>(50000);
这样就 OK 了,而且没问题。

正解
Wolf0403 2003-10-18
  • 打赏
  • 举报
回复
vector 对象会自动分配堆内存存放数据。一般不要用 new 分配 vector 对象到堆上。
vector<int> v = vector<int>(50000);
这样就 OK 了,而且没问题。
galaxy_fxstar 2003-10-18
  • 打赏
  • 举报
回复
400万也没有多少呀,不就是4mb的内存嘛,应该可以分配的.
tonyzhengjq 2003-10-18
  • 打赏
  • 举报
回复
学习一下
ttlb 2003-10-18
  • 打赏
  • 举报
回复
1如果每个vector默认分配1000个int,那1000*1000*4就是4000000个字节,四百万哪!
我的理解,不知道对不对。
2还不知道,一起等高手
Darkay_Lee 2003-10-18
  • 打赏
  • 举报
回复
不是很理解你的意思哦!你要new 100多个向量吗?那么用vector<vector<float> > vec(100)好了。
speedfirst 2003-10-18
  • 打赏
  • 举报
回复
唯一的限制应该只是内存的大小呀。
darcymei 2003-10-18
  • 打赏
  • 举报
回复
不会!!!
你的代码!

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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