【发布时间】:2010-08-15 07:05:23
【问题描述】:
我有一个关于内存释放和异常的问题。当我使用 delete 删除在堆上创建的对象时。如果在此删除之前发生异常,是内存泄漏还是此删除将执行?
【问题讨论】:
-
你是说之前,不是期间?那么很明显,如果
delete不会被调用(因为之前抛出异常),那么就不会释放内存。如果您在销毁期间询问异常,那么parashift.com/c++-faq-lite/exceptions.html#faq-17.3