内存回收函数抛出异常
C++-Undefined-Behavior-15
示例:
class A {
....
public:
void operator delete(void* p) {
if (!p) {
throw Exception(); // Undefined behavior
}
....
}
};
在 delete 运算符中抛出异常会导致未定义的行为。
依据
ISO/IEC 14882:2011 3.7.4.2(3)-undefined