C++でこのような演算子が必要な理由と、それが最新のC++プログラミングでどのように役立つのでしょうか。これを適用できる現実世界のコード例が役立ちます。
この質問は、ハーブサッターからの詳細な提案を読まずに、現実世界での実際のアプリケーションを理解することを目的としています。しかし、提案に不快感はありません。
頭の上の3か所にモチベーションをあげます。
>
、>=
、==
、<=
、<
。 <=>
(スペースシップ)を使用すると、これらの他の各操作を完全に一般的な方法で実装できます。strcmp()
です。そのため、ベクトルやリストのデータ、その他の順序付けされたコンテナなど、辞書式順序のあるものすべてに役立ちます。x86
またはx86_64
でaとb(CMP RAX, RBX
)を比較することは、RAX
が実際に変更されず、フラグのみが影響されるという点を除いて、基本的に減算(SUB RAX, RBX
)と同じです。 「等しい/等しくない/より大きい/より小さい/などにジャンプ」を使用できます。 (JE/JNE/JGT/JLTなど)次の命令として。 CMP
は「宇宙船の比較」と考える必要があります。