http://channel9.msdn.com/Events/GoingNative/2013/Writing-Quick-Code-in-Cpp-Quicklyの 29 分マークで、Andrei Alexandrescu は、定数を使用して 0 を優先すると述べ、ハードウェアがそれを処理する方法を知っていると述べています。私はいくつかの組み立てを行いましたが、彼が話していることと、CPU のゼロフラグについて知っています。
それから彼は、-1 よりも定数 1 を好むと言います。-1 IIRC は実際には特別なものではありませんが、負であるため、CPU の符号フラグが設定されます。私の現在の理解では、1 は単に正の数であり、プロセッサ フラグにはビットがなく、0 または他の正の数と区別する方法がありません。
しかし、Andrei は -1 よりも 1 を好むと言います。なんで?ハードウェアは、-1 よりも優れた 1 で何をしますか?