省略else关键字
omitting else keyword
这两种方法有什么真正的区别吗?
方法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) ;
}
相关文章:
- Visual Studio 2015:Extern "C" 和 "export" 关键字
- C++中的"inline"关键字
- 如何确保C++函数在定义之前声明(如override关键字)
- 我的简单if-else语句是如何无法访问的代码
- 线程,如果else语句,都是错误的上下文切换后,会发生什么
- 如何删除peer if else分支中的冗长句子
- 我似乎对if/else的基本语句有问题:/
- 使用if-else将数字转换为单词
- 谷歌模拟和覆盖关键字
- c++ std::enable_if .... else?
- 如果 else 语句不断循环
- 结构体 S { int align; } 之间的区别;(struct 关键字后的名称)和 struct { int al
- 如果全局变量默认是外部变量,为什么要添加"extern"关键字?
- 为什么这个案例陈述需要一个"if else"而不仅仅是一个"if"?
- C++ If/Else 语句被跳过
- 为什么我的最后一个 ELSE 条件无法正确执行
- 当我从下面的代码中删除关键字 virtual 时,它可以正常工作,否则会出现错误。在这里"virtual"字的意义是什么?
- 为什么"delete"关键字不删除节点?
- 省略else关键字
- "else if"是一个关键字吗?