对象的实际类型与当前静态类型不相关,并调用其析构函数
C++-Undefined-Behavior-58
示例:
void foo(void* p) {
delete (T*)p; // Undefined if delete an object of type other than T
}
如果例中 p 指向的不是 T 类型的对象会导致未定义的行为。
依据
ISO/IEC 14882:2003 12.4(12)-undefined
ISO/IEC 14882:2011 12.4(13)-undefined