因此,如果我有一个带有全局变量 var_ 的递归函数:
int var_;
void foo()
{
if(var_ == 3)
return;
else
var_++; foo();
}
然后我有一个调用 foo() 的函数,如下所示:
void bar()
{
foo();
return;
}
每次 foo 被调用时设置 var_ =0 的最佳方法是什么?我知道我可以这样做:
void bar()
{
var_ =0;
foo();
return;
}
但我经常使用递归函数,我不想调用 foo 并忘记在以后设置 var_=0 。
有人对如何解决这个问题有什么建议吗?
谢谢,乔什
Turn foo()
进入辅助函数。
void foo() {
var_ = 0;
foo_helper();
}
void foo_helper() {
if(var_ == 3)
return;
else
var_++; foo_helper();
}
您不必更改任何现有代码,您仍然可以直接调用foo()
并让它发挥作用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)