c++类内定义的函数为什么可以递归?

c++刷题时一般所有的函数都会包含在Solution类内,其中写到dfs算法的时候也经常会用到递归。之前没有在意。

但是刚刚了解到(c++primer 223页中间部分)“编译器隐式的将在类内定义的成员函数当做内联函数”。那么solution类内写的函数不算是类内定义吗?为什么可以递归呢?


#C/C++##学习路径#
全部评论
内联是个建议
5 回复 分享
发布于 2020-05-30 14:02
好问题,可能是这些在线OJ的编译器不会自动将类内的函数视为内联函数吧?按理来说内联函数一般要求不能递归、不能包含复杂控制语句,一般在5句一下(小规模)……这些刷题的时候基本都不符合呀
1 回复 分享
发布于 2020-05-30 10:52
如果内联函数里出现了递归,好像编译器是不会把这个函数优化成内联函数的
1 回复 分享
发布于 2020-05-30 11:03
内联函数是一个对编译器的建议,如果函数过于复杂,编译器会不接受你的建议而将函数处理成普通的函数
1 回复 分享
发布于 2020-05-30 20:31
只是个建议,编译器会决定是否实现成inline
点赞 回复 分享
发布于 2020-05-30 22:41

相关推荐

11-24 00:11
已编辑
广东工业大学 算法工程师
避雷深圳  yidao,试用期 6 个月。好嘛,试用期还没结束,就直接告诉你尽快找下一家吧,我谢谢您嘞
牛客75408465号:笑死,直属领导和 hr 口径都没统一,各自说了一些离谱的被裁理由,你们能不能认真一点呀,哈哈哈哈哈😅😅😅
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
1
分享
牛客网
牛客企业服务