有关建立和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;
}
这个问题以前问过一次,但是只有一个人赞同我的观点。我想以代码的形式来问问大家,
这种通过副本来间接释放内存会不会造成内存泄露???、
[解决办法]
没问题