楼主:
czm (czm)
2018-09-25 05:46:12常常有两个数a,b 需要判断 a>b 或 a=b 或 a<b
于是就要写成
if( a>b)
{ ;;; }
else
if( a==b)
{ ;;; }
else
{ ;;; }
// 需要比较两次 与 一些jmp
可是应该很多cpu都有支援 类似如下intel 的指令
cmp a,b
jg xxx
je yyy
jl zzz
;只要比较一次 就可由旗号得知三一律的结果 直接走该走的分支
为何c++ 不实做三一律?
例如这样 (a??b) ?> do_something ?= do_something ?< do_something ;
※ 编辑: czm (1.163.137.249), 09/25/2018 06:01:11
作者: yvb 2018-10-02 20:44:00
不同意 3F. wiki Three-way_comparison => arithmetic IF同意 4F 编译器可以. 试过 gcc -O2 会得到原PO期望的组语样态