为什么我们在C ++中需要这样的运算符?它在现代C ++编程中有何用处?任何可以应用此功能的真实代码示例都会有所帮助。
这个问题旨在了解现实世界中的实际应用,而无需阅读Herb Sutter的罗嗦提议。但是,对提案没有违法行为。
答案 0 :(得分:11)
我会给你三点动力,就在我的头顶:
>
,>=
,==
,<=
,{{ 1}}。使用<
(太空船),您可以完全通用的方式实现其他每个操作。<=>
。因此 - 对于具有词典顺序的任何内容都很有用,例如向量或列表中的数据或其他有序容器。strcmp()
或x86
比较a和b(x86_64
)基本上就像减去({{1}除了CMP RAX, RBX
实际上没有变化,只有标志受到影响,所以你可以使用&#34;跳转等于/不等于/大于/小于/等。&#34; (JE / JNE / JGT / JLT等)作为下一条指令。 SUB RAX, RBX
应被视为&#34;宇宙飞船比较&#34;。