如何delete掉vector中指针指向的内存空间?

来源:百度知道 编辑:UC知道 时间:2024/06/21 21:46:21
std::vector < double* > d;

void fun(void)
{
double *t=new double[3];
d.push_back(t);
}

void del(void)
{
//这里如何写代码?
//delete ??
}

另外pop_back()是作什么用的?
再问问d.clear又有什么用

1、
void del(void)
{
for(int i = 0; i < d.size(); i++)
{
delete d[i];
}
d.clear();
}
2、pop_back()的功能是删除vector最尾部的元素。

push_back是从尾部压入
pop_back是从尾部弹出
del()函数里的逻辑是:
用while判断d是否为空,遍历d里所有项,对每一项:
不为空则删除相应项对应内存,然后弹出相应项

补充一下
delete d[i];
应该是
delete [] d[i];