空指针解引用
C++-Undefined-Behavior-55
空指针未指向任何对象或函数,解引用空指针会导致未定义的行为。
示例:
struct T {
int i;
int foo() { return i; }
int bar() { return 0; }
static int baz();
};
T* p = nullptr;
p->foo(); // Undefined behavior
p->bar(); // Undefined behavior
p->baz(); // Well-defined, ‘baz’ is a static member
依据
ISO/IEC 14882:2003 8.3.2(4)-undefined
ISO/IEC 14882:2011 8.3.2(5)-undefined