请问vector在堆上还是栈上增长

科技完美生活 2010-11-20 01:19:12
vector<int*> *p = new vector<int*>;
int M = 8888;
for(int i=0;i<M;++i)
{
p->push_back(0);
}
vector肯定是要消耗内存了,请问一下是在栈上还是堆上,
如果是栈上,如何才能让p在堆上增长?
多谢
...全文
1741 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ji12332111 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
无论你的定义是:
vector<int*> *p = new vector<int*>;
还是
vector<int*> p;
其元素都是在堆上进行分配。
[/Quote]
但是vector<int*> p;中p本身还是在栈里面的吧。。。
muleisheng 2011-04-11
  • 打赏
  • 举报
回复
baiduyixia
科技完美生活 2010-11-20
  • 打赏
  • 举报
回复
感谢两位星级人物、也早点休息
gules 2010-11-20
  • 打赏
  • 举报
回复
无论你的定义是:
vector<int*> *p = new vector<int*>;
还是
vector<int*> p;
其元素都是在堆上进行分配。
mstlq 2010-11-20
  • 打赏
  • 举报
回复
堆上……
楼主不必操心

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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