UB

Undefined behavior - cppreference.com

ill-formed:有语法错误,或者能被检查出的语义错误。必须提供诊断(编译错误)。

ill-formed, no diagnostic required:正常编译,但有 UB。

implementation-defined behavior:正常编译,行为由实现定义,一个具体实现必须列出其文档。

unspecified behavior:能正常编译,行为在不同实现中有区别。一个具体实现不需要列出文档。

undefined behavior:可以编译,尽管可能有警告。行为是未定义的。

种类诊断行为
ill-formed不能编译
ill-formed, no diagnostic required未定义
implementation-defined behavior实现相关,有文档
unspecified behavior实现相关,无文档
undefined behavior可能有若能编译则未定义

UB 这一行看起来很像是 ill-formed 两行合起来。