【C++语言的设计和演化】重载
来源:互联网 发布:部落冲突野猪升级数据 编辑:程序博客网 时间:2024/05/06 16:56
重载
重载的歧义控制,在匹配参数过程中,只能接受非缩窄的转换。
C++区分的5中“匹配”:
1) 匹配中不转换或者只使用不可避免的转换(例如从数组名到指针,函数名到函数指针,T到const T)
2) 整数提升的匹配(char到int,short到int以及它们对应的unsigned,float到double)
3) 标准转换的匹配(int到double,derived* 到base*, unsigned int到int)
4) 用户定义转换的匹配(构造函数和转换操作)
5) 使用了在函数声明里的省略号....的匹配
如果存在两个最好匹配,这个调用就是有歧义的,产生一个编译错误。对多于一个参数的调用,一个函数想要被选中,那么它至少在某一个参数上比其他任何函数匹配的都更好,而对每个参数都至少与其他函数匹配的同样好。
- 【C++语言的设计和演化】重载
- 【C++语言的设计和演化】带类的C
- C++语言的设计和演化读书笔记
- 《C++语言的设计和演化》
- 《C++语言的设计和演化》摘录
- 读《C++语言的设计和演化》
- 《C++语言的设计和演化》
- 《C++语言的设计和演化》读书笔记(1)
- 【C++语言的设计和演化】C++的诞生
- 《C++ 语言的设计和演化》摘要暨读后感
- 读《C++语言的设计和演化》有感
- 关于读C++语言的设计和演化
- 【C++语言的设计和演化】存储管理
- 【C++语言的设计和演化】多重继承
- 《C++语言的设计和演化》 学习笔记
- 【C++语言的设计和演化】C++语言的设计规则
- [读书笔记]C++语言的设计与演化[The Design and Evolution of C++]
- C语言的重载
- 【C++语言的设计和演化】带类的C
- 【C++语言的设计和演化】C++的诞生
- 【C++语言的设计和演化】C++语言的设计规则
- 【C++语言的设计和演化】存储管理
- 自我奖励
- 【C++语言的设计和演化】重载
- 【C++语言的设计和演化】多重继承
- 常对象
- CCS3.3卡死问题的解决方法
- 关于 Yii 的 DAO数据库操作的总结
- 面向对象的static
- 【Hadoop权威指南】初识Hadoop
- 【Hadoop权威指南】关于MapReduce
- 二叉树的操作