有关用delete删除vector中指针的问题?

来源:百度知道 编辑:UC知道 时间:2024/07/02 05:38:24
std::vector < double* > d;

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

}

void del(void)
{
delete d[0];
delete d[1];
delete d[2];
}

void main()
{
fun();
del();
}

请问del()中的delete能否释放new的内存,我的疑问是new的是数组,delete怎么知道数组的大小?
那就是说,这样不会造成内存泄露了?

new中分配的是内存,而不是数组.在分配的时候注册大小了.

恩.

delete应该是针对t才对.delete t就一定可以.

new 和delete应该放在一个过程中,你可以用类来包装一下.别让它们离这么远.