为什么我们应该更喜欢 0 而不是其他常数?

why should we prefer 0 to other constant?

我观看了来自 A. Alexandrescu 的会议 "Write quick code in C++, quickly"(那里有 https://channel9.msdn.com/Events/GoingNative/2013/Writing-Quick-Code-in-Cpp-Quickly

在这次会议上,Alexandrescu 说(在 ~28 分钟)我们应该更喜欢 0 作为常量,因为任何人都知道 0 cpu 并且它的处理方式会有所不同。

我能理解编译器会生成更快/更少的 ASM 指令,但我不明白为什么 cpu。

我阅读了这个问题 Why use 1 instead of -1?,其中 OP 说 cpu 的 0 标志将被设置,但我仍然不明白(也许 cpu 能够跳过一些指令,比如与 0 的乘法?)

处理器有一个零标志,表示最后处理的值是零,任何其他值都需要先进行比较操作