重载函数的最佳匹配

为了确定最佳匹配,实参到形参类型的转换可划分为四级:

  • 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.csdn.net/dbzhang800/article/details/6675415
阅读更多
文章标签: transformation api c
个人分类: C/c++
上一篇C++ 类访问控制(public/protected/private)
下一篇AJAX ,GET POST区别
想对作者说点什么? 我来说一句

重载函数的小应用........

2011年04月11日 1.05MB 下载

没有更多推荐了,返回首页

关闭
关闭