【发布时间】:2012-12-21 01:14:37
【问题描述】:
当构造函数抛出未处理的异常时会发生什么?对于 Java 和 C++?会不会有内存泄露?
【问题讨论】:
-
对于Java,程序不会崩溃吗?你的 IDE 可能甚至不允许你编译它。
-
我认为在 Java 中您不必担心这一点,如果在 C++ 中可能发生这种情况,请使用 std::auto_ptr。
-
关于 Java,您可能会在其他 SO 问题中阅读 Jon Skeet 的答案:stackoverflow.com/a/1371559/660990
-
“抛出未处理的异常”是什么意思?如何抛出已处理的异常?
-
重要的是要意识到在 C++ 中,成员通常在构造函数抛出时被销毁。当然,在一个未捕获的异常之后程序结束,这使得这个问题相当学术。
标签: java c++ memory-leaks