C++17 · 编译期选择

重载·特化·约束选择器

可行候选最终选择类模板路径

01 候选形成

02 匹配质量

03 决胜规则

04 最终选择

类模板 shape_of<T> 的路径

函数模板不支持偏特化

要处理一类调用形状(例如所有指针),新增函数模板重载,让它作为独立候选参与决议。

void_t / static_assert 检查的是语法

它们能探测表达式是否成立、结果能否转成 bool,却不能证明比较器满足严格弱序等语义约定。