向CList模板类的对象追加节点时出现异常,谁惹的祸???
bager 2002-06-03 01:35:59
以下的测试,只要内存消耗的足够多(修改测试代码中循环的上限或增加TEST结构的尺寸),定会截获到虚拟内存不足的错误。但是异常发生后,已经分配的内存无法释放,谁能解释一下为什么?请赐教!!!
//结构及变量定义
typedef struct
{
char a[1024 * 10];
}TEST;
typedef CList<TEST, TEST &> CListTest;
CListTest m_test;
测试代码
{
TEST st;
try
{
for(int i = 0; i< 30000; i++)
{
m_test.AddTail(st);
free(pChar);
}
}
catch(...)
{
m_test.RemoveAll();
}
}