Rob*_*cks 34 c++ conditional-operator
我一直想知道如何"A ? B : C"用C++兼容语言编写语法.
我认为它的工作原理如下:( 伪代码)
If A > B
C = A
Else
C = B
Run Code Online (Sandbox Code Playgroud)
任何资深的C++程序员都会帮帮我吗?
lc.*_*lc. 60
它的工作原理如下:
(condition) ? true-clause : false-clause
Run Code Online (Sandbox Code Playgroud)
它最常用于赋值操作,尽管它也有其他用途.三元运算符?是缩短if-else子句的一种方法,在其他语言中也称为immediate-if语句(IIf(condition,true-clause,false-clause)例如,在VB中).
例如:
bool Three = SOME_VALUE;
int x = Three ? 3 : 0;
Run Code Online (Sandbox Code Playgroud)
是相同的
bool Three = SOME_VALUE;
int x;
if (Three)
x = 3;
else
x = 0;
Run Code Online (Sandbox Code Playgroud)
mag*_*ius 12
它的工作原理如下:
expression ? trueValue : falseValue
Run Code Online (Sandbox Code Playgroud)
这基本上意味着如果expression计算结果为true,则返回或执行trueValue,否则将返回或评估falseValue.
请记住,只有表达式为true或false时,才会评估和执行trueValue和falseValue.此行为称为短路.
在 C++ 中,没有实际的 if 部分。它称为三元运算符。它的用法如下:<布尔语句>?<如果为真则结果> : <如果为假则结果>; 对于上面的示例,它看起来像这样:
C = A > B ? A : B;
Run Code Online (Sandbox Code Playgroud)
维基百科上的这篇文章也讨论了它: http ://en.wikipedia.org/wiki/Ternary_operation