☰
  • 首页
  • 规则分类
  • 项目介绍
search
•••

内存回收函数抛出异常

C++-Undefined-Behavior-15
目录 › next › previous

示例:

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

规则

ID_throwInDelete
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.