省略else关键字

omitting else keyword

本文关键字:关键字 else 省略      更新时间:2023-10-16

这两种方法有什么真正的区别吗?

方法1:

bool IsNumOverFive(int num)
{
    if(num > 5)
    {
        return true;
    }
    else
    {
        return false;
    }
}
方法2:

bool IsNumOverFive(int num)
{
    if(num > 5)
    {
        return true;
    }
    return false;
}

就计算机而言,这两个版本没有区别。

假设两者都是正确的,重要的是,无论谁阅读代码,都会发现它很容易阅读。

我更喜欢第三个版本:

bool IsNumOverFive(int num)
{
    return (num > 5);
}

其他人可能有不同的偏好

不具有功能,尽管方法一在更复杂的示例中可能更容易阅读。

行为没有区别,最有趣的是,编译器生成相同的代码:

<>之前g++ -S -Wall案例1.cppg++ -S -Wall case .cppdiff -U - case。年代case2.s之前

编译器计算出,如果使用一个,则您将涵盖所有情况。否则,它将生成警告:

warning: control reaches end of non-void function [-Wreturn-type]

在您的示例中没有区别。

一个更好的版本是:

bool IsNumOverFive(int num)
 {
     return (num > 5 ? true: false) ;
 }