下面的公式如何计算呢?
int SRC = SrcBuf != -1 ? 1 : 0;
假设SrcBuf = 0,开始我们的计算过程。
1、评估条件:
首先,评估三元运行符的条件部分,即 SrcBuf != -1。在这个例子中,SrcBuf
的值是已知的(假设为 0
),因此程序会比较 0
是否不等于 -1
。
由于 0
确实不等于 -1
,所以条件 SrcBuf != -1
的结果为 true。
2、
选择结果
接下来,计算 ?。如果条件为真(即 true
),则选择第一个值(1
);如果条件为假(即 false
),则选择第二个值(:
之后的值0)。
例子中SrcBuf = 0,因为条件为真(SrcBuf != -1
为真),所以程序会选择 1
作为结果。
3、赋值:
将 1
赋值给 SRC
。
可通过下面代码验证:
#include <iostream>
int main() {
int SrcBuf = 0;
int SRC = SrcBuf != -1 ? 1 : 0;
std::cout << "SRC is " << SRC << std::endl; // 输出: SRC is 1
return 0;
}