【发布时间】:2012-01-22 20:38:22
【问题描述】:
我正在阅读这个post 的尾递归。
我将复制发布的解决方案:
unsigned int f( unsigned int a ) {
if ( a == 0 ) {
return a;
}
return f( a - 1 ); // tail recursion
}
我想知道,如果结果取决于几个递归函数调用怎么办? 例如:
unsigned int f( unsigned int a ) {
if ( a == 0 ) {
return a;
}
return f(a -1) + f( a - 1 );
}
上面的代码会被编译器优化吗?
【问题讨论】:
标签: c++ compiler-optimization tail-recursion