主要观点:
- 自写上次文章后,“better”一词常萦绕脑海,尤其在讨论重载决议和隐式转换序列时。
- 详细介绍了隐式转换序列的相关概念,包括标准转换序列的各类情况及用户定义转换等。
- 重点阐述了资格转换(qualification conversion),通过具体例子说明如何确定类型的资格转换签名及转换规则。
- 探讨了重载决议中如何在多种可能类型间进行转换及判断哪种转换更“好”,给出了标准转换的排序及相关规则,并通过多个代码示例进行解释。
关键信息:
- 隐式转换序列由零个或一个来自不同类别的转换组成。
- 资格转换签名用于比较两个类型的
const
等资格信息。 - 重载决议中,候选函数需满足参数匹配、约束满足及隐式转换序列可行等条件,且更好的候选函数其隐式转换序列不劣于其他候选。
- 标准转换有不同的排名,相同排名时需根据具体情况判断。
重要细节:
- 给出了数组到指针、函数到指针等标准转换的具体规则及示例。
- 详细说明了在重载决议中不同类型转换的处理方式及示例,如函数指针转换、引用绑定等。
- 指出标准冗长复杂,可能存在错误,欢迎指出。同时对一些语言特性如函数类型的右值引用等表示质疑。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。