您还记得在本科生算法讲座中,了解以下概念非常方便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++?
不,不存在通用的东西nil
C++ 中的值。从字面上看,C++ 类型是不相关的,并且不共享共同的值。
你可以实现some通过使用继承来形成可共享值,但您必须显式地这样做,并且只能对用户定义的类型执行此操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)