有关用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怎么知道数组的大小?
那就是说,这样不会造成内存泄露了?
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应该放在一个过程中,你可以用类来包装一下.别让它们离这么远.
在MFC中,用delete删除WCHAR指针时,会出现debug error
C++中怎么删除vector中的一个元素
在函数中我用return 返回一个char*,返回后这个函数结束,我将如何delete这个指针呢?
我用Delete键不能删除WORD中插入的表格,怎么删除恩?
中了autorun.inf删不掉 用软件好不容易删除变成Delete.tmp
我用Shift+Delete删除文件后...
java中怎么用vector()将这个类集合起来
sql 中输入delete语句为什么提示删除0行??
类成员函数有一个指针,这个指针指向用new分配的内存,析构后会怎样(没有调用delete)
Delete键不能删除