为了确定最佳匹配,实参到形参类型的转换可划分为四级:
- exact match ,实参与形参类型相同
- promotion
- standard conversion
- class-type conversion (通过类类型转换)
其中,前3个在C++标准中又通称为标准转换序列(C++标准 13.3.3.1.1)
| 转换(Conversion) | 类别(Category) | 级别(Rank) |
| 无需转换 | Identity | Exact Match |
| 左值到右值转换 | Lvalue Transformation | |
| 数组到指针转换 | ||
| 函数到指针转换 | ||
| 限定符(Qualification)转换) | Qualification Adjustment | |
| 整数提升 | Promotion | Promotion |
| 浮点数提升 | ||
| 整数转换 | Conversion | Conversion |
| 浮点数转换 | ||
| 浮点数-整数转换 | ||
| 指针转换 | ||
| 指针到成员转换 | ||
| 布尔转换 |
C++ Primer 中说:
-
内置类型的提升和转换可能会使函数匹配传声意想不到的结果,但幸运的是,设计良好的系统很少会...
显然,这儿的 bug 是api设计问题造成...
转自: http://blog.youkuaiyun.com/dbzhang800/article/details/6675415
3687

被折叠的 条评论
为什么被折叠?



