参考《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&)这种形式。
点赞 1

相关推荐

陌夏微秋:一线城市25w左右吧,17×15=255
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务