首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >三元运算符与if else

三元运算符与if else
EN

Stack Overflow用户
提问于 2015-04-01 18:10:21
回答 2查看 131关注 0票数 0

在执行时间或不同场景下,三元运算符是否比if else块更好?我看了很多链接,但都没有得到满意的答案。

EN

回答 2

Stack Overflow用户

发布于 2015-04-01 18:11:43

这不是更好也不是更坏。它是不同的,因为它是一个表达式。这意味着你可以用它来做初始化变量这样的事情:

代码语言:javascript
运行
复制
int n = some_flag ? 0 : 42;

或者在其他需要表达式的地方使用它:

代码语言:javascript
运行
复制
printf("Hello number %d", some_flag ? 0 : 42);

你不能用if-else来做到这一点。至于性能,在两者可以互换的情况下,不太可能有什么不同。

票数 7
EN

Stack Overflow用户

发布于 2015-04-01 18:15:24

在大多数现代编译器上,使用这两种编译器中的任何一种都没有区别。你唯一能关注的就是代码的可维护性。使用三元运算符可以得到的唯一区别是,根据某个表达式,您可以初始化一个常量变量。如下所示:

代码语言:javascript
运行
复制
const int a = (x<y) ? y : x;

使用if else不能完成以下操作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29388072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档