在stl中list是怎样插入数据的?

szpc689 2007-02-13 10:12:30
我写了这样一个很初级初级的小程序:
#include <list>
#include <cstdlib>
#include <iostream>

int main(int argc,char *argv[])
{
list<int>coll(12);
cout<<"coll size is: "<<coll.size()<<endl;
for (int i = 1; i <= 12; ++i)
{
//coll.push_back(rand());
coll.insert(coll.begin(),rand());
}
cout<<"The number of list is: ";
copy(coll.begin(),coll.end(),ostream_iterator<int>(cout," "));
cout<<endl;
cout<<"coll size is: "<<coll.size()<<endl;
system("pause");
return 0;
}

我明明是开辟了12个存贮空间,可是插入数据后再输出变成了24个存贮空间,请高手给小弟介绍下为什么,谢谢!
...全文
303 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
szpc689 2008-03-11
  • 打赏
  • 举报
回复
不要用偶的帐号发这样的帖子。用你自己的去。
taodm 2007-02-13
  • 打赏
  • 举报
回复
你开辟了12个,又Insert了12个,当然是24个啦。
list<int>coll;即可。
Wolf0403 2007-02-13
  • 打赏
  • 举报
回复
coll.insert(coll.begin(),rand());
递归插入自己...

64,649

社区成员

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

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