返回信息流程序中动态数组d为什么还要复制给p 然后对p进行操作,最后输出的时候又要对d操作~
初学C++,感觉很迷惑~
//将vector对象动态给新建立的数组
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> ivec;
int a;
cout<<"输入vector,ctrl+z结束:";
while(cin>>a)
ivec.push_back(a);
//创建动态数组
int *d=new int[ivec.size()];
//复制元素
int *p=d;
for(vector<int>::iterator iter=ivec.begin();iter!=ivec.end();
iter++)
{
*p=*iter;
p++;
}
size_t ix;
for(ix=0;ix!=ivec.size();ix++)
cout<<*(d+ix)<<" ";
delete [] d;
return 0;
}[em8][em8][em8]
这是一条镜像帖。来源:北邮人论坛 / cpp / #34063同步于 2009/12/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
问个动态数组的问题~
lulujune
2009/12/23镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
d是分配数组的头指针,p在使用中会p++,所以要另外保存一份
【 在 lulujune (lulujune) 的大作中提到: 】
: 程序中动态数组d为什么还要复制给p 然后对p进行操作,最后输出的时候又要对d操作~
: 初学C++,感觉很迷惑~
: //将vector对象动态给新建立的数组
: ...................