为什么 C 中的引用不可重置
C 引用与指针不同,遵循两个基本特征:它们必须始终引用同一个对象并且不能为空。虽然指针在指向不同对象方面提供了灵活性,并且可以设置为 null,但 C 缺乏“不可为 null、可重新安装的引用或指针”的概念。这就提出了为什么引用不能重置的问题。
Felix Nievelstein 最初提出了这个问题,强调使用引用来确保对象之间的关联保持有效。然而,根据 C 的设计者 Bjarne Stroustrup 的说法,引用不变性的主要原因是为了避免潜在的歧义和错误。
用 Stroustrup 的话来说,“我过去有被 Algol68 引用咬伤,其中 r1=r2 可以通过 r1 分配给所引用的对象,或者为 r1 分配新的引用值(重新绑定 r1)取决于 r2 的类型。我想在 C 中避免此类问题。”
通过禁止引用重新绑定,C 旨在消除不确定性和无意中更改引用目标对象的风险。这种设计决策确保引用始终指向同一对象,防止意外后果并保持程序正确性。
以上是为什么不能重置 C 引用?的详细内容。更多信息请关注PHP中文网其他相关文章!