ss.edu level
获赞
374
粉丝
10
关注
0
看过 TA
9
汕头市业余大学
2018
安卓
IP属地:未知
暂未填写个人简介
私信
关注
2018-05-05 21:37
汕头市业余大学 安卓
rt,lz有一个有关const ref的问题,查了资料没找到合适的答案,讨论区的各位大佬走过路过麻烦解答一下~ 以下是代码截图: 上图为头文件verify.h的代码, 上图为cpp文件verify.cpp的代码。 如图所示,我在verify.h文件中声明了fun4和fun5两个函数,在verify.cpp文件中实现了fun4和fun5两个函数,和.h文件中的声明不同的是,我在.cpp文件中的实现,给每个参数都加上了const。 执行上图所示的main函数代码,fun4会编译出错,报错undefined ref,也就是说,编译器认为cpp文件...
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 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务