Skip to content

2.2.9 条件表达式

This content is not available in your language yet.

C++ 中的条件表达式又叫做三目运算、三元表达式等,其形式是

  • 逻辑或表达式
  • 逻辑或表达式 ? 表达式 : 赋值表达式

标点符号 ? 和 : 是条件表达式的标志,为了方便表述,这里将 ? 左边的表达式称为 操作数1,将 : 左边、? 右边的表达式称为 操作数2,将 : 右边的表达式称为 操作数3。

条件表达式的计算是先计算操作数1,如果操作数1转换到bool后的值true,则计算操作数2,否则计算操作数3(类似于逻辑表达式的短路行为,另一个操作数不会计算)。

整个表达式的值是操作数2或操作数3的值,取决于计算了哪一个操作数。