gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 02:14:27 26 4
gpt4 key购买 nike

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

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

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

C++ Terms

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

Unspecified Behaviour: Constraint Violation
(dereferencing NULLpointer)

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

最佳答案

这是未定义的行为。

来自 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 指针是否被视为未指定或未定义的行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39929099/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com