gpt4 book ai didi

c++ - 如果 void() 不返回值,我们为什么要使用它?

转载 作者:IT老高 更新时间:2023-10-28 22:31:28 29 4
gpt4 key购买 nike

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/

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