如何处理成员函数中的递归?
本文介绍了如何处理成员函数中的递归?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
例如,我有一个empty
函数来清除链表:
但后来我为链表创建了一个类,所以现在不需要传递head
参数:
但是empty(head->next)
行显然是错误的,因为empty
不接受任何参数。我的想法是在函数中创建一个函数(使用lambda),类似于:
但我想知道有没有更好的办法。最近,Lambdas对我来说是一种理想的固定方式。
推荐答案
一般方法是声明公共成员函数,该成员函数又调用私有静态递归成员函数。
请注意,名称empty
听起来令人困惑。最好将函数命名为clear
。
给您
无需定义辅助静态函数即可使用相同的方法。
这里是一个演示程序。
程序输出为
这篇关于如何处理成员函数中的递归?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!