社区
C语言
帖子详情
大家来看看这个问题
r11222
2010-08-06 04:18:58
看STL代码的时候,经常出现这一种方法
就是用两个< 代替一个==
也就是
if(a==b)
改成
if( !(a<b) && !(b<a) )
有什么好处
应该是比较高效,不然STL也不会这样写,但高效在哪?
...全文
137
16
打赏
收藏
大家来看看这个问题
看STL代码的时候,经常出现这一种方法 就是用两个< 代替一个== 也就是 if(a==b) 改成 if( !(a<b) && !(b<a) ) 有什么好处 应该是比较高效,不然STL也不会这样写,但高效在哪?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
canshui
2010-08-08
打赏
举报
回复
xuexile
ForestDB
2010-08-07
打赏
举报
回复
STL常需要的“概念”(concept)之一就是实现<重载。
Fighting Horse
2010-08-07
打赏
举报
回复
完全不是这么回事,Stl这么实现是为了减少对所对象的类型的限制,这样我们的类就只要定义 < 就行了,不需要定义 == 或者 !=
liutengfeigo
2010-08-06
打赏
举报
回复
学习了
qgqch2008
2010-08-06
打赏
举报
回复
学习了。。
r11222
2010-08-06
打赏
举报
回复
[Quote=引用 9 楼 zhao4zhong1 的回复:]
重载运算符<而不需要重载运算符==
[/Quote]
根据代码推测,好像这个解释比较好,johndii的也有道理!
谢谢!
qazwhl845174869
2010-08-06
打赏
举报
回复
[Quote=引用 4 楼 johndii 的回复:]
引用 2 楼 r11222 的回复:
引用 1 楼 lightboat09 的回复:
应该是为了解决float和double型的比较问题吧
具体呢? 小弟菜鸟
【规则4-3-3】不可将浮点变量用“==”或“!=”与任何数字比较。
千万要留意,无论是float 还是double 类型的变量,都有精度限制。所以一定要
避免将浮点变量用“==”或“!=”与数字比较……
[/Quote]
学习了
赵4老师
2010-08-06
打赏
举报
回复
重载运算符<而不需要重载运算符==
johndii
2010-08-06
打赏
举报
回复
[Quote=引用 7 楼 lightboat09 的回复:]
4楼抄的《高质量C++编程指南》4.3.3很完整啊!
[/Quote]
是啊,大概是十年前的东西了,用过C++的人都记得。
小楫轻舟
2010-08-06
打赏
举报
回复
4楼抄的《高质量C++编程指南》4.3.3很完整啊!
bobo364
2010-08-06
打赏
举报
回复
我觉得即使这样写,也无法解决float和double的比较问题
小楫轻舟
2010-08-06
打赏
举报
回复
浮点型变量都有精度限制,
要避免用==或!= 与数字比较,
应该化成>= 和 <= 形式
johndii
2010-08-06
打赏
举报
回复
[Quote=引用 2 楼 r11222 的回复:]
引用 1 楼 lightboat09 的回复:
应该是为了解决float和double型的比较问题吧
具体呢? 小弟菜鸟
[/Quote]
【规则4-3-3】不可将浮点变量用“==”或“!=”与任何数字比较。
千万要留意,无论是float 还是double 类型的变量,都有精度限制。所以一定要
避免将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”形式。
假设浮点变量的名字为x,应当将
if (x == 0.0) // 隐含错误的比较
转化为
if ((x>=-EPSINON) && (x<=EPSINON))
其中EPSINON 是允许的误差(即精度)。
johndii
2010-08-06
打赏
举报
回复
浮点,要知道计算机是2进制。==比较的值和你打印看到的不是完全一样的。
r11222
2010-08-06
打赏
举报
回复
[Quote=引用 1 楼 lightboat09 的回复:]
应该是为了解决float和double型的比较问题吧
[/Quote]
具体呢? 小弟菜鸟
小楫轻舟
2010-08-06
打赏
举报
回复
应该是为了解决float和double型的比较问题吧
教给大家怎么跟好友一起看视频?亲测可用
最近很多朋友在后台留言咨询薯片小姐姐怎么跟好友一起看视频,相信大家在日常生活中都会遇到这样的
问题
,想找可用邀请好友一起同步观看视频的APP或软件。那今天薯片小姐姐就跟大家安利一款可用跟好友一起看视频的APP...
消息语音播报,微信语音自动播放,有点儿意思,可以
看看
这个应用
看看
这个可爱的二维码 说说初衷 一个月之前,朋友给我说了一个很有意思的需求: 在骑单车的时候(开车同理,反正就是手没空的场景),希望能够来了微信消息能够语音朗读出来(如果是语音就自动播放),然后...
常看的几个网站:推荐给大家
常看的几个网站:推荐给大家 作为一名开发者要不断保持与时俱进,不断学习。自学能力是一个人很重要的能力,要学会不断自学,下面是几个我比较喜欢的网站,几乎每天会看一看,推荐给你。 1. ...
从另一个角度看奋斗史——01.小人之为
《奋斗史》中,谁是小人?... 我们首先来
看看
这个
问题
,段伏枥是不是小人?不妨回头
看看
奋斗史的第96章,此时正是曹燕即将离职之际,段伏枥做了什么?他没有照顾到武总的情绪,依照武总的意思来安抚大家的情绪,反而
和平精英登录服务器没有响应,和平精英登录出现未知
问题
怎么办?登录未知
问题
解决方法...
今天小编就为大家带来了和平精英的登录未知
问题
解决方法,大家一起来
看看
吧!登录未知
问题
解决方法在今天更新的和平精英游戏当中,许多玩家耐心的等到了下午的开服,但是却登录不进去。一点击进入游戏就会跳出这个...
C语言
69,381
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章