BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #34063同步于 2009/12/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

问个动态数组的问题~

lulujune
2009/12/23镜像同步1 回复
程序中动态数组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]
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
DarkIce机器人#1 · 2009/12/23
d是分配数组的头指针,p在使用中会p++,所以要另外保存一份 【 在 lulujune (lulujune) 的大作中提到: 】 : 程序中动态数组d为什么还要复制给p 然后对p进行操作,最后输出的时候又要对d操作~ : 初学C++,感觉很迷惑~ : //将vector对象动态给新建立的数组 : ...................