三目运算符的陷阱

原创 2016年08月29日 11:18:30

分析:上面这个用了三目运算符的表达式,判断条件是_timeData.startTime > 0 ,有时候定式思维就会造成我们直接把后面选项里的第一项空掉,以为条件为真,就会选择_timeData.startTime。
           但实际上不是的,?号前的表达式实际上是一个整体,整个表达式为真就会选择整个表达式为第一个选项,如果你不写第一个选项,那么就会默认把判断条件整个表达式作为返回值;整个表达式是假,就会选第二个表达式。所以,这个表达式,如果不写第一个选项,而判断条件又为真,那么最终返回结果就不是一个时间值,而是bool值yes。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

由三目运算符(? : ;)与++混用导致的陷阱而引申出++,-- 运算符使用说明

一. 陷入的陷阱今天在编写测试代码,其中有一行代码如下: static uint8_t su8Tmp = 0; ... ... su8Tmp= (su8Tmp > 99) ? 0 : (s...

三目运算符

Java 三目运算符

C++基础---三目运算符

1. 三目运算符 1.1 三目运算符的定义 三目运算符:计算机C/C++的重要组成部分。条件运算符是唯一有3个操作数的运算符,所以有时又称为三元运算符。 三目运算符:是软件编程中的一个固定格式为?...

C++对C加强专题总结:namespace,register,bool,三目运算符,类型检测,struct

 1、面向过程到面向对象的经典易错模型 class circle { public:     double r;     do...

Java基础之三目运算符,if,switch

Java基础部分的三目运算符,以及流程控制语句if语句和switch语句

三目运算符“?:”省略中间操作数的分析

通常情况下用 x ? : y 替换x ? x : y看起来并不是很友好,至少我看着觉得有些别扭。根据上面的分析,在某些情况下,在表达式x为宏定义的时候,使用x ? : y 代替x ? x : y,可以...

你真的会用三目运算符吗?

写在前面: 三目运算符是我们经常在代码中使用的,a= (b==null?0:1); 这样一行代码可以代替一个 if-else,可以使代码变得清爽易读。但是,三目运算符也是有一定的语言规范...

你真的会用 Java 中的三目运算符吗

三目运算符是我们经常在代码中使用的,a= (b==null?0:1); 这样一行代码可以代替一个 if-else,可以使代码变得清爽易读。但是,三目运算符也是有一定的语言规范的。在运用不恰当的时候会导...

《ios零基础教程》 ---sizeof、关系运算符、逻辑运算和三目运算和流程控制if选择结构 2014-3-21总结

今天继续学习了基本运算中的sizeof、关系运算符、逻辑运算和三目运算和流程控制if选择结构。 一、sizeof 1、定义 sizeof 可以用来计算一个变量或者一个...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)