gpt4 book ai didi

c++ - C++中 `Nil`的概念

转载 作者:可可西里 更新时间:2023-11-01 18:03:56 30 4
gpt4 key购买 nike

您还记得在本科生的算法类(class)中,拥有 Nil 的概念非常方便,任何东西都可以赋值给它或与之比较。 (顺便说一句,我从来没有读过计算机科学的本科生。)在 Python 中,我们可以使用 None;在 Scala 中有 Nothing (如果我理解正确的话,它是所有内容的子对象)。但我的问题是,我们如何在 C++ 中使用 Nil?以下是我的想法。

我们可以使用 Singleton Design Pattern 定义一个单例对象,但我目前的印象是你们中的大多数人一想到这个就会畏缩。

或者我们可以定义一个全局的或静态的。

我的问题是,在这两种情况中的任何一种情况下,我都想不出一种方法能够将任何类型的任何变量分配给 Nil,或者能够比较任何对象的任何对象输入 Nil。 Python 的 None 很有用,因为 Python 是动态类型的; Scala 的 Nothing(不要与 Scala Nil 混淆,后者表示空列表)优雅地解决了这个问题,因为 Nothing 是所有内容的子对象。那么在 C++ 中是否有一种优雅的方式来使用 Nil

最佳答案

不,C++ 中不存在通用的nil 值。逐字地,C++ 类型是不相关的,并且不共享公共(public)值。

您可以使用继承实现某些形式的可共享值,但您必须显式地这样做,并且只能对用户定义的类型这样做。

关于c++ - C++中 `Nil`的概念,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29546193/

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