2018-05-05 21:37
汕头市业余大学 安卓 BewareMyPower:参考《C++ Primer》第五版6.4函数重载 一个拥有顶层const的形参无法和另一个没有顶层const的形参区分开 另一方面,如果形参是某种类型的指针或引用,则通过区分其指向的是常量对象还是非常量对象可以实现函数重载,此时的const是底层的 void f(int);
void f(const int); // 重复声明
void g(int&);
void g(int& const); // 重复声明
void h(int&);
void h(const int&); // 重载
我的理解是,因为T和const T可以互相进行隐式类型转换,但是const T&则无法隐式转换成T&,所以你传递一个const对象时,不能匹配到接收非const引用的函数,这样编译器在处理const对象实参时,可以选择void h(const int&)这种形式。
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
关注他的用户也关注了: