考虑以下 bar
函数
#include <iostream>
void foo(){
std::cout << "Hello" << std::endl;
}
void bar1(){
return foo();
}
void bar2(){
foo();
}
void bar3(){
foo();
return;
}
int main()
{
bar1();
bar2();
bar3();
return 1;
}
这些函数做完全相同的事情,实际上 godbolt 为所有三个函数生成相同的代码(正如人们所希望的那样)。我的问题很简单,是否有任何软件工程范例/指南提倡一种形式而不是另一种形式,以及是否有任何理由使您更喜欢其中一种形式。它们似乎生成相同的机器代码,但我想象其中一个可能被视为“更易于维护”或类似的东西。
最佳答案
这是非常基于意见的。虽然我会说普遍的共识是像 bar2()
那样编写它。不要显式return
,除非你必须提前返回,如果func()
返回一个,不要执行
,这只会让读者感到困惑,因为您实际上并没有返回值。return func()
void
关于c++ - 返回带有 void 的函数的设计含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55609060/