我们可以在 if 语句中使用三元运算符吗?

Aas*_*ani 0 c++

我的老师说我们不能在 if 语句中使用三元运算符,因为它是它的替代品......谁能告诉我我们是否可以在 c++ 的 if 语句中使用三元运算符?

Ren*_*ene 6

基本答案是:是的,你可以。
正如@Bathsheba 已经指出的那样:这可能并不总是有意义的。

一个更明智的例子可能是这样的:

if (use_locking ? readLocked() : readUnlocked())
{
   ...
}
Run Code Online (Sandbox Code Playgroud)


Bat*_*eba 5

是的你可以。

三元条件运算符是一个表达式,其类型从最后两个参数的类型推断出来。和表达式可以作为在有条件的if声明。

一个例子是变态

if (unemployed ? false : true)
Run Code Online (Sandbox Code Playgroud)

这代表

if (!unemployed)
Run Code Online (Sandbox Code Playgroud)

当然,这是否是一件好事取决于上下文。

  • 哦,一个 [academia.se] 的问题。 (3认同)
  • @AashrayKrishnani:但要小心翼翼地接近它。我经常被我的团队的初级成员叫到,但希望他们能礼貌地这样做。 (2认同)