2
A
回答
6
其ternary operator,相当于:
if (model == DHT11)
return 0;
else
return -40;
所以它无关的范围内进行检查。
三元运算符产生的值,也就是说,您也可以在分配中使用,如:
retval = model == DHT11 ? 0 : 40;
return retval;
0
0
如前所述,它被称为三元运算符。
三元运算符检查是否有错,如果是,则产生:
之前的值。如果它是假的,它会产生:
之后的值。
在这种情况下,它会检查model == DHT11
的计算结果是否为真,如果是,则返回0。如果model == DHT11
的计算结果为false,则为-40。然后将三元值的值赋予return
,退出该函数并返回0或-40。
其他例如:
std::string hi = "hi";
std::cout << (hi == "hi") ? "string hi contains \"hi\"." : "string hi does not contain \"hi\"." << "\n";
将打印:
string hi contains "hi".
常规语法:
bool ? value1 : value2
三元运算符是一样的if-else语句,压缩到一条线。
相关问题
- 1. 这个语法是什么意思。 (:: *)
- 2. 这个Scala语法是什么意思(_ *)?
- 3. 这个PHP语法是什么意思?
- 4. C++,这个语法是什么意思?
- 5. jQuery - 这个语法是什么意思?
- 6. 这个Java语法是什么意思?
- 7. 这个python语法是什么意思?
- 8. 这个#define语法是什么意思?
- 9. 这个语法是什么意思? (Prolog)
- 10. 这个rails语法是什么意思?
- 11. 这个javascript语法是什么意思?
- 12. 这个切片是什么意思[:,:,0]?
- 13. 这个JS语法是什么意思,什么是'长度'?
- 14. Javascript:这个语法是什么意思(0,functionName)(functionParemeter);
- 15. 这ocaml语法是什么意思?
- 16. 这个Perl语句是什么意思?
- 17. 这个C习语是什么意思?
- 18. 这个“if”语句是什么意思?
- 19. 这个C++语句是什么意思?
- 20. 这个语法是什么意思,它喜欢`functionName:{}`?
- 21. 这是什么CSS字体速记语法是什么意思?
- 22. 这是什么打字稿接口语法是什么意思?
- 23. int max =〜0;这是什么意思?
- 24. 这里的“= 0”是什么意思?
- 25. switch(!0)这是什么意思
- 26. 这是什么意思? void * free_me = 0;
- 27. 什么(char *)0是什么意思?
- 28. 这个C++语法是什么意思,它为什么起作用?
- 29. GetDC(0&)是什么意思?
- 30. 这是什么意思“scanf(”%[^ \ n]“,buf);” ?它的等价C++语法是什么?
不要相信你的直觉。 – 101010
搜索三元运算 –
另请参阅:http://stackoverflow.com/questions/392932/how-do-i-use-the-conditional-operator – jaredk