首页 > 代码库 > 模拟三元操作符和真正三元操作符的区别

模拟三元操作符和真正三元操作符的区别

 1 // 三元操作符是用来处理简单的判断的
 2 a>b?a:b
 3 // 写成if的情况
 4 if(a>b)
 5     return a;
 6 else 
 7     return b;
 8 
 9 //或许用and和or来模拟
10 a>b and a or b
11 //但是不要用模拟的三元操作符干复杂的事,例如:
12 bool value1 and bool value2 or bool value3
13 例如在这情况下当value1 = false,value2 = true, value3 = false时,模拟的三元操作符和if语句结果不一致:
14 if false
15     return true;
16 else 
17     return false;
18 结果是 true
19 false and true or false
20 结果是 false
21 //另外还有 value1 = true ,value2 = false , value3 = true
22 value1 = false,value2 = false, value3 = true
23 
24 //所以,不要用模拟的三元操作符干复杂的事,会和预想中不同,就简单的条件返回值就好了(a>b?a:b)

 

模拟三元操作符和真正三元操作符的区别