void f()
意味着 f
什么也不返回。如果 void
什么都不返回,那我们为什么要使用它呢? void
的主要用途是什么?
最佳答案
当 C 被发明时,约定是,如果你没有指定返回类型,编译器会自动推断你想要返回一个 int
(对于参数也是如此)。
但通常你编写的函数可以做一些事情并且不需要返回任何东西(例如,想想一个只在屏幕上打印一些东西的函数);出于这个原因,决定,要指定你根本不想返回任何东西,你必须使用 void
关键字作为“返回类型”。
请记住,void
还有其他用途;特别是:
如果将其指定为函数的参数列表,则表示该函数不带参数;这在 C 中是必需的,因为没有参数的函数声明对编译器意味着参数列表只是未指定。在 C++ 中,这不再需要,因为空参数列表意味着该函数不允许使用任何参数;
void
在指针中也有重要作用;void *
(及其变体)表示“指向未指定内容的指针”。如果您必须编写必须存储/传递指针而不实际使用它们的函数(仅在最后,要实际使用指针,需要转换为适当的类型),这将非常有用。另外,
(void)
的强制转换通常用于将值标记为故意未使用,从而抑制编译器警告。int somefunction(int a, int b, int c) { (void)c; // c is reserved for future usage, kill the "unused parameter" warning return a+b; }
关于c++ - 如果 void() 不返回值,我们为什么要使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11560068/