[求助]关于字符数组的释放
请看这段代码:vector<string> svec; //已初始化
char **parr =new char*[svec.size()];
size_t ix=0;
for(vector<string>::iterator iter)=svec.begin(); iter!=svec.end(); ++iter, ++ix)
{
char *p =new char[(*iter).size()+1]; //
strcpy(p,(*iter).c_str());
parr[ix]=p;
}
for(ix=0; ix!=svec.size();++ix)
delete [] parr[ix];
delete [] parr;
请问为什么要这样释放呢,我不太明白,我是这样写的,有问题吗?和上面的一样吗?
for(vector<string>::iterator iter)=svec.begin(); iter!=svec.end(); ++iter, ++ix)
{
char *p =new char[(*iter).size()+1]; //
strcpy(p,(*iter).c_str());
parr[ix]=p;
delete [] p;
}