void函数末尾的return语句为空是否有原因

Is there a reason for an empty return statement at the end of void function?

本文关键字:是否 语句 函数 return void      更新时间:2023-10-16

我只是在看别人的代码,他们在void函数的末尾有一个空的return语句:

void someFunction (int* someArg, int someArg2, int someArg3) {
    // some operations/function calls/recursion
    return;
}

它应该在那里有什么特殊的原因吗?

据我所知,它没有理由需要出现在函数的最后。可能函数最初返回了一个值,有人将其更改为void,然后用return;替换了return value;。或者,一个对C++不太熟悉的人认为的每个函数都必须有一个返回,并会盲目地相信这一点,直到痛苦的结局。

现在,函数中间的返回肯定是相关的,因为它会在此时停止函数的执行。

就我个人而言,我认为保持事情的明确性很好。因此,我更愿意在void函数中使用return。是否使用它取决于您,但它有助于提高可读性。

在下面的ISO/IEC 14882:2003[编程语言-C++]中。

6.6.3返回语句

  1. 函数通过return语句返回给调用方