gpt4 book ai didi

programming-languages - 在语言中不包含 NULL 的含义?

转载 作者:行者123 更新时间:2023-12-03 23:47:03 25 4
gpt4 key购买 nike

我知道在编程语言中不需要 NULL,而且我最近决定不在我的编程语言中包含 NULL。声明是通过初始化完成的,因此不可能有未初始化的变量。我希望这将消除 NullPointerException赞成更有意义的异常(exception)或根本没有某些类型的错误。

当然,由于该语言是用 C 实现的,所以在幕后使用了 NULL。

我的问题是,除了使用 NULL 作为错误标志(这是用异常处理)或作为数据结构(如链表和二叉树)的端点(这是用有区别的联合处理)之外,还有其他 NULL 用例吗?我应该有一个解决方案?没有 NULL 是否有任何真正重要的影响,这可能会导致我的问题?

最佳答案

Tony Hoare 最近在 LtU 上引用了一篇题为 Null References: The Billion Dollar Mistake 的文章。它描述了一种允许在编程语言中存在 NULL 的方法,但也消除了引用此类 NULL 引用的风险。这看起来很简单,但它是一个如此强大的想法。

更新 :这是我阅读的实际论文的链接,其中讨论了在 Eiffel 中的实现:http://docs.eiffel.com/book/papers/void-safety-how-eiffel-removes-null-pointer-dereferencing

关于programming-languages - 在语言中不包含 NULL 的含义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1442463/

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