我一直想知道如何用C++兼容的语言编写"A ? B : C"
语法。
我认为它的工作原理是这样的:(伪代码)
If A > B
C = A
Else
C = B
有没有经验丰富的C++程序员能帮帮我?
发布于 2008-12-25 08:34:49
它是这样工作的:
(condition) ? true-clause : false-clause
它最常用于赋值操作,尽管它也有其他用途。三元运算符?
是一种缩短if-else子句的方法,在其他语言中也称为立即if语句(例如,VB中的IIf(condition,true-clause,false-clause)
)。
例如:
bool Three = SOME_VALUE;
int x = Three ? 3 : 0;
等同于
bool Three = SOME_VALUE;
int x;
if (Three)
x = 3;
else
x = 0;
发布于 2008-12-25 08:32:43
它是这样工作的:
expression ? trueValue : falseValue
这基本上意味着如果expression
的计算结果为真,将返回或执行trueValue,否则将返回或计算falseValue。
请记住,只有在表达式为true或false时,才会分别计算和执行trueValue和falseValue。这种行为称为短路。
发布于 2008-12-25 08:31:29
在c++中,没有实际的if部分。它被称为三元运算符。它的用法如下:?:;对于上面的示例,它将如下所示:
C = A > B ? A : B;
维基百科上的这篇文章也讨论了它:http://en.wikipedia.org/wiki/Ternary_operation
https://stackoverflow.com/questions/392932
复制相似问题