Programming languages “虚空”是什么意思;头等舱类型;?

Programming languages “虚空”是什么意思;头等舱类型;?,programming-languages,Programming Languages,正如标题所说,这有什么好处?这个问题的灵感来源于。如果void是第一类类型,那么您可以在定义变量时使用它。我认为void变量可以用作一个指针来传递函数或对象之类的东西,如果你重铸它的话。它将使您能够执行动态类型转换。作为一个一流的类型意味着void可以在任何允许类型注释的地方使用。在C#中,void只能用作方法的返回类型,但以下所有内容都是非法的: // A void parameter type. int SomeMethod(void parameter) { ... } // A voi

正如标题所说,这有什么好处?这个问题的灵感来源于。

如果void是第一类类型,那么您可以在定义变量时使用它。我认为void变量可以用作一个指针来传递函数或对象之类的东西,如果你重铸它的话。它将使您能够执行动态类型转换。

作为一个一流的类型意味着
void
可以在任何允许类型注释的地方使用。在C#中,
void
只能用作方法的返回类型,但以下所有内容都是非法的:

// A void parameter type.
int SomeMethod(void parameter) { ... }

// A void type argument.
List<void>

// A void variable.
void Main()
{
  void someVar;
}
//一个void参数类型。
int SomeMethod(void参数){…}
//无效类型的参数。
列表
//一个空变量。
void Main()
{
空腔;
}

Java确实有一个一级void类型,拼写为
void
(注意大写字母“V”)。它有时在泛型中很有用。它只有一个值,
null

我的看法是,他们想让
void
成为一种类型,而不是一种表示缺少值的语法手段(或者在
void*
的情况下,没有关于值类型的信息)。我不知道这有什么用。void变量的值可以用调用void函数的相同方式使用:一点也不。你所说的将是一个空洞的指针。你的解释有道理,但在我找到这个之前,我无法理解这样的东西是如何有用的