C++ void 函数的返回

2025年3月21日 | 阅读 4 分钟

当一个函数不返回任何东西时,它被称为 void 函数。当函数的主要目的是执行某些操作或任务,而不需要向调用代码返回结果时,就会使用它。它们执行指令集而无需管理返回值。这种简单性可以使代码更易于理解,特别是对于执行操作而没有复杂计算的函数。不需要为返回值分配内存。这些函数的可重用性比返回值的函数要差。Void 函数提供给调用代码的信息有限。如果调用代码需要函数的反馈或结果,void 函数无法满足该要求。在 void 函数中进行错误处理可能更具挑战性,因为它们没有提供直接向调用代码传达错误的方式。因此,需要使用其他机制,如异常或全局变量,来处理错误。

示例

让我们看一个程序来说明在 C++ 中从 void 函数返回。

输出

Return from void functions in C++

说明

在这个程序中,有两个函数:一个是 printMessage,另一个是 main 函数。在这里,printMessage 函数是一个不返回任何东西的 void 函数。这个函数将打印一些消息。之后,主函数将调用这个 void 函数,在执行函数并显示消息后,程序返回 0。在这里,void 函数的作用就像一个打印函数。

使用 void 函数时的不同情况

如果对 void 函数进行分类,可以分为以下几种。

1. Void 函数可以返回

这个函数是一个没有返回类型的普通函数。

示例

让我们来看一个 C++ 中简单的递归 void 函数的例子。

输出

Return from void functions in C++

说明

这个函数是一个名为 countdown 的递归 void 函数,它从给定的数字 n 向下计数到 1,并沿途打印每个值。基本情况是当 n 变为 0 或更小时,此时会打印"Blastoff!"。之后,程序在主函数中以初始值 5 调用此函数。using namespace std; 指令允许使用 coutendl 而无需显式指定 std:: 命名空间。

2. 可以返回另一个 void 函数的 void 函数

让我们来看一个 C++ 中可以返回另一个 void 函数的 void 函数的例子。

输出

Return from void functions in C++

说明

这个 C++ 程序定义了一个名为 greetUser 的 void 函数,它接受一个字符串的常量引用作为参数,并在控制台打印一条问候消息。另一个 void 函数 performGreeting 被引入作为一个驱动函数,它返回 greetUser 函数。在主函数中,performGreeting 被用不同的用户名("Ram""Shyam")调用了两次。程序的输出将是针对“Ram”和“Shyam”的问候语,证实了 void 函数的功能。

3. 一个 void 可以返回一个 void 值

输出

Return from void functions in C++

说明

在这个 C++ 程序中,有一个名为 calculateAndPrintSum 的 void 函数,它接受两个整数参数 a 和 b。在函数内部,它计算 a 和 b 的和,打印结果,然后尝试通过使用 (void)"javaTpoint";“返回”一个 void 值。然而,需要注意的是,这种用法在 C++ 中既不标准也无意义。(void)"javaTpoint"; 部分不提供有效的 void 返回值,也不影响程序的行为。主函数用不同的值调用了 calculateAndPrintSum 两次。