在对象析构之后使用对象
C++-Undefined-Behavior-13
示例:
extern T obj;
void foo() {
obj.fun(); // Undefined behavior if ‘obj’ is destructed
}
当全局对象 obj 析构之后,再调用 foo 函数会导致未定义的行为(如在另一个全局对象的析构函数中调用 foo 函数)。
依据
ISO/IEC 14882:2011 3.6.3(4)-undefined