说我有一个空隙返回函数,我应该写回报;在一个void返回函数?
void foo(void)
{
// code
}
或
void foo(void)
{
// code
return;
}
我不知道哪一个是在实践中更好?第一个是否有任何潜在的问题?
说我有一个空隙返回函数,我应该写回报;在一个void返回函数?
void foo(void)
{
// code
}
或
void foo(void)
{
// code
return;
}
我不知道哪一个是在实践中更好?第一个是否有任何潜在的问题?
在第二个示例中,return;
是完全多余的,我没有理由使用它。
在上面的例子中,没有必要写回报,因为两者都是等价的。
但是,有些情况下,您想写返回,因为您的函数路径是分支的,并且您希望有一个或多个分支(但不是所有分支)提前返回,原因很充分(如简化或可读性)
例如,请考虑以下情况:
void foo(){
if (a){
//do something
} else {
//do something else
}
}
功能路径分支,并假设你想通过删除其他块,以减少你的代码的缩进。然后,你可以使用提前返回如下写上面的代码:
void foo(){
if (a){
//do something
return;
}
//do something else
}
在这种情况下,您可以考虑使用一个空隙返回函数提前返回的。
两者都可以。最好遵循你的小组的编码标准。如果你没有,创建它们。 – chux
它没有必要。你提到的两个功能是等价的。 –