加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

if(double)有效C吗?

发布时间:2020-12-16 03:00:44 所属栏目:百科 来源:网络整理
导读:我刚碰到这行代码: if( lineDirection.length2() ){...} 其中length2返回一个double.有点让我感到困惑的是0.0等于0,NULL和/或false. 这是C标准的一部分还是未定义的行为? 解决方法 这是一个非常标准的行为(布尔转换) $4.12/1 – “An rvalue of arithmetic
我刚碰到这行代码:
if( lineDirection.length2() ){...}

其中length2返回一个double.有点让我感到困惑的是0.0等于0,NULL和/或false.

这是C标准的一部分还是未定义的行为?

解决方法

这是一个非常标准的行为(布尔转换)

$4.12/1 – “An rvalue of arithmetic,enumeration,pointer,or pointer to member type can be converted to an rvalue of type bool. A zero value,null pointer value,or null member pointer value is converted to false; any other value is converted to true.”

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读