-1

可能重复:
If-Else 和 C 中的三元运算符之间的速度差异......?

这是一个很简单的问题,与 if else 语句相比,三元运算符是否提高了执行速度?

4

1 回答 1

0

不,大多数语言将其解析为非常相似的语法树。任何 jit/优化器都会将其折叠成简单指令的“基本块”而无需跳转;从那时起,它将优化相同。

当然,可能存在一些非常糟糕的系统,但事实并非如此。但是 gcc/msvc/c# 都可以很好地处理它。

它的丰富性通常与它是一个表达式而不仅仅是一个逻辑语句这一事实相关联。这使得做这样的事情变得很容易(注意:前面真的很丑陋的例子):

size_t n = strlen( pszVar == NULL ? "" : pszVar );

于 2012-03-05T07:09:48.993 回答