【发布时间】:2012-01-05 03:16:18
【问题描述】:
在浏览 EASTL 时,我偶然发现了一行奇特的代码。以下链接显示了感兴趣的行号为 1870 的文件。
https://github.com/paulhodge/EASTL/blob/master/include/EASTL/algorithm.h
该行的代码是if(!(value < *i))。评论说“我们总是用
写这样的比较有什么好处(也许我忽略了一些上下文)?如果不是,为什么EASTL的作者特意写成这样,甚至还特意评论呢?一致性是唯一的原因吗?
【问题讨论】:
-
在浮点数中,它们是不同的,因为与
NaN的比较总是返回 false。 -
听起来像是一个非常具体的处理器/汇编器/编译器类型优化。此代码是否针对特定的处理器/编译器等
-
@AdrianCornish:它与优化无关,与 C++ 无关,彼此之间没有默认运算符。
-
基本上它应该只是意味着 EASTL 遵循 C++ 标准 STL 部分的约定。