写一个if then else类型语句的简洁方法

Mic*_*Hua 2 c c++

假设我有一个标准,如果该条件为真,我想添加一个delta,如果为false,则执行相反的(减去).

bool bBoolean;
int iDelta;
int iQuantity;
Run Code Online (Sandbox Code Playgroud)

是否有更简洁和优雅的方式来编写这段代码?我的意思是不重复关键字iQuantity和iDelta.

if(bBoolean)
  iQuantity -= iDelta;
else 
  iQuantity += iDelta;
Run Code Online (Sandbox Code Playgroud)

Cor*_*bin 10

我能想到的最简单的事情是:

iQuantity += (bBoolean) ? -iDelta : iDelta;
Run Code Online (Sandbox Code Playgroud)

编辑:这通常被称为三元语句,虽然它的正确名称(在标准中称为它)是"条件表达式"或"条件运算符".

(感谢Rune的官方名称.)

  • 不要迂腐,但标准使用"条件表达式"/条件运算符. (2认同)