读书人

相干建立和vector容器相同的副本的方法

发布时间: 2012-08-09 15:59:21 作者: rapoo

有关建立和vector容器相同的副本的方法
我采用STL中的vector容器:
#include<vector>
using namespace std;

void main()
{

vector<int *>vec_origin;
int *p;
for(int i=0;i<100;i++)
{
p=new int;
cin>>*p;
vec_origin.push_back(p);

}
//下面是建立副本
vector<int *>vec;
for(vector<int *>::iterator it=vec_origin.begin();it!=vec_origin.end();++it)
vec.pushback(*it);


//然后对vec_origin进行clear()操作:
vec_origin.clear();
//那么,我的问题是先前动态分配的内存是不是能用副本来释放???
for(vector<int *>::iterator it=vec_origin.begin();it!=vec_origin.end();++it)
{
p=*it;
delete p;

}
这个问题以前问过一次,但是只有一个人赞同我的观点。我想以代码的形式来问问大家,
这种通过副本来间接释放内存会不会造成内存泄露???、

[解决办法]
没问题

读书人网 >C++

热点推荐