这两种方法之间有什么真正的区别吗?
方法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;
}
答案 0 :(得分:13)
就计算机而言,两个版本之间没有区别。
鉴于两者都是正确的,重要的是阅读代码的人会发现它很容易阅读。
我碰巧更喜欢第三个版本:
bool IsNumOverFive(int num)
{
return (num > 5);
}
其他人可能有不同的偏好。
答案 1 :(得分:5)
虽然方法一在较复杂的例子中可能更容易阅读,但在功能上却没有。
答案 2 :(得分:4)
行为没有区别,最有趣的是,编译器会生成相同的代码:
g++ -S -Wall case1.cpp g++ -S -Wall case2.cpp diff -U case1.s case2.s
编译器会发现,如果你有其他问题,那么你将覆盖所有案例。否则,它会生成警告:
warning: control reaches end of non-void function [-Wreturn-type]
如果您启用了警告。
答案 3 :(得分:1)
在你的例子中没有区别。
更好的版本之一是:
bool IsNumOverFive(int num)
{
return (num > 5 ? true: false) ;
}