大哥,帮忙呀!内存泄露了!!!:( 200分!!!!(200分)

A

aneng

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大哥:问一个奇怪的问题!!
我用Kylix for c++,编一个程序,在一个函数中,生成10000个double 对象,并用一个
vector将double* 放进去,在另一个函数中delete掉!!结果,内存使用没有释放??
程序大致是这样的。
vector<double*> vec_double;
void SetVec()
{
double *tmp;
for(int i = 0 ;i < 10000;i++)
{
tmp = newdo
uble(100.00);
vec_double.push_back(tmp);
}
}
void releaseVec()
{
for(int i = 0 ;i < 10000;i++)
{
delete vec_double;
}
vec_double.clear();
}
如果我把上边两个函数放到一个函数里,并把vec_double定义为该函数的一个私有变量,
内存没有泄露!!哪个大哥能帮帮忙!!200分!!如何!!!!????急呀!!
 

张无忌

Unregistered / Unconfirmed
GUEST, unregistred user!
不要这么分,这样不如一次分配一个大快内存,最后一次释放
,这样有内存催片!
 
A

aneng

Unregistered / Unconfirmed
GUEST, unregistred user!
但是这样做也不应该会导致内存不能删除呀!!!我在window 下测试都是好好的呀!!大侠
再帮忙看看!
 
S

softprince

Unregistered / Unconfirmed
GUEST, unregistred user!
虽然这样用不好, 这样做效率是非常低的, 但是应该不至于有内存泄漏;
这里vec_double是一个全局变量, 应该是在堆中分配的, 是否和linux与windows的内存管理
机制有关?
顶;
 

Similar threads

S
回复
0
查看
913
SUNSTONE的Delphi笔记
S
S
回复
0
查看
743
SUNSTONE的Delphi笔记
S
S
回复
0
查看
650
swish
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
顶部