C++ 中“Nil”的概念

2024-03-14

您还记得在本科生算法讲座中,了解以下概念非常方便Nil,任何东西都可以分配给它或与之比较。 (顺便说一句,我从来没有读过计算机科学本科生。)在 Python 中我们可以使用None;在斯卡拉有Nothing(如果我理解正确的话,这是一切的子对象)。但我的问题是,我们怎样才能Nil在 C++ 中?以下是我的想法。

我们可以使用以下方法定义一个单例对象单例设计模式 https://stackoverflow.com/questions/86582/singleton-how-should-it-be-used,但我目前的印象是,你们中的大多数人一想到这一点就会皱眉。

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

我的问题是,在这两种情况下,我想不出一种能够将任何类型的任何变量分配给Nil,或者能够将任何类型的任何对象与Nil。蟒蛇的None很有用,因为 Python 是动态类型的;斯卡拉的Nothing(不要与 Scala 混淆Nil,这意味着空列表)优雅地解决了这个问题,因为Nothing是一切事物的子对象。那么有没有一种优雅的方式来拥有Nil in C++?


不,不存在通用的东西nilC++ 中的值。从字面上看,C++ 类型是不相关的,并且不共享共同的值。

你可以实现some通过使用继承来形成可共享值,但您必须显式地这样做,并且只能对用户定义的类型执行此操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 中“Nil”的概念 的相关文章

随机推荐