[C++] 我如何使用条件运算符?



Answers

它是这样工作的:

expression ? trueValue : falseValue

这基本上意味着如果expression计算结果为true,则返回或执行trueValue,否则将返回或计算falseValue。

请记住,只有当表达式为true或false时,才会评估和执行trueValue和falseValue。 这种行为被称为短路。

Question

我一直想知道如何用C ++兼容的语言编写"A ? B : C"语法。

我认为它的工作原理是:( 伪代码)

If A > B
   C = A
Else
   C = B

请问任何经验丰富的C ++程序员请帮助我吗?




我会说呢? 是一个捷径。 但是,一些“硬核”程序员往往会说这样写很长,所以在将来的情况下,人们可以很容易地读取和修改代码。

例如,如果你写

int a = b<c ? b : c;

有人声称写得更清楚些:

if(b<c)
 a = b;
else
 a = c;

因为在将来的情况下,人们可以抓住它。 当然,简单的b <c? b:c很容易被捕获,但是有时候会有复杂的操作,很难被发现。




我假设你的意思是像a = b的东西? c:d,其中b是条件,c是b为真时的值,d是b为假时的值。




只要你可以写这个

C =(A> B)A:B;

这是一样的:

if(A>B)

 C=A;

else

 C=B;



Links