【问题标题】:Is there a reason for an empty return statement at the end of void function?在 void 函数的末尾有一个空的 return 语句的原因吗?
【发布时间】:2013-08-04 00:14:00
【问题描述】:

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

void someFunction (int* someArg, int someArg2, int someArg3) {

    // some operations/function calls/recursion

    return;
}

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

【问题讨论】:

  • 不,没有任何理由,除了纯粹的美学。
  • 如果函数末尾没有return,你希望它做什么 - 挂起?

标签: c++ syntax return


【解决方案1】:

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

现在,函数中间的 return 肯定是相关的,因为它会在该点停止函数的执行。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      6.6.3 返回语句

      1. 函数通过 return 语句返回给它的调用者。

      【讨论】:

      • 这如何回答这个问题?
      • 如果return语句不存在,函数不能返回给调用者。这是我的理解。
      • @StatusBreakPoint:抱歉,您的理解不正确。 return 不需要在 void 函数的末尾。当执行到函数末尾时,它将返回给调用者。
      猜你喜欢
      • 2017-12-04
      • 1970-01-01
      • 2021-02-08
      • 2020-01-18
      • 1970-01-01
      • 2017-06-11
      • 2015-09-21
      • 2021-10-20
      • 2017-02-10
      相关资源
      最近更新 更多