省略else关键字

Sir*_*lot 3 c++

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

方法1:

bool IsNumOverFive(int num)
{
    if(num > 5)
    {
        return true;
    }
    else
    {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

方法2:

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

    return false;
}
Run Code Online (Sandbox Code Playgroud)

NPE*_*NPE 13

就计算机而言,两个版本之间没有区别.

鉴于两者都是正确的,重要的是阅读代码的人发现它很容易阅读.

我碰巧喜欢第三个版本:

bool IsNumOverFive(int num)
{
    return (num > 5);
}
Run Code Online (Sandbox Code Playgroud)

其他人可能有不同的偏好.


smi*_*tec 5

虽然方法一在更复杂的例子中可能更容易阅读,但功能上并非如此.