取消引用 NULL 指针是否被视为未指定或未定义的行为?

Is dereferencing a NULL pointer considered unspecified or undefined behaviour?

Whosebug问题的共识说这是未定义的行为。

不过,我最近看到了 Charles Bay 2016 年的演讲,题目是:
无处不在的指令重新排序:C++“假设”规则和序列的作用。

37:53 他展示了以下内容:

C++ Terms

Undefined Behaviour: Lack of Constraints
(order of globals initialization)

Unspecified Behaviour: Constraint Violation
(dereferencing NULL pointer)

现在我得到了相互矛盾的信息。
这是一个错字吗?有什么变化吗?

这是未定义的行为。

来自 C++11 标准(强调我的)的 8.3.2 参考资料

5 ... [ Note: in particular, a null reference cannot exist in a well-defined program, because the only way to create such a reference would be to bind it to the “object” obtained by dereferencing a null pointer, which causes undefined behavior. As described in 9.6, a reference cannot be bound directly to a bit-field. —end note ]

示例与错误的事物相关联。无论您采用哪个版本的 C++ 标准(即在这方面,标准中没有任何变化)。

取消引用 NULL 指针会产生未定义的行为。该标准未对结果发生的情况定义任何限制。

全局变量初始化的顺序是未指定行为的一个例子(标准保证所有全局变量都将被初始化[这是对全局变量初始化方式的限制]但未指定顺序)。