【发布时间】:2011-10-10 07:39:13
【问题描述】:
下面的示例可能会导致内存泄漏,因为在其构造函数运行期间处理异常的对象没有运行析构函数。我在哪里处理这个内存泄漏?
#include <exception>
class MyClass {
public:
MyClass()
{
c = new char[5];
throw std::runtime_error("test");
}
~MyClass ()
{
delete[] c;
}
private:
char *c;
};
int main()
{
try
{
MyClass Obj;
}
catch (std::runtime_error)
{
}
}
【问题讨论】: