rsk*_*k82 1 c++ recursion function
例如,考虑这个单因素:
int factorial(int number) {
int temp;
if(number <= 1) return 1;
temp = number * __FUNCTION__(number - 1);
return temp;
}
Run Code Online (Sandbox Code Playgroud)
它给:
error: '__FUNCTION__' cannot be used as a function
Run Code Online (Sandbox Code Playgroud)
这个想法是使用这个常量而不是函数名,所以如果我改变函数的名称,就不需要查看其余代码来更新函数调用自身的名称.
你不能因为__FUNCTION__实现可能会保留它,它会扩展为函数名(字符串格式).
除了更改名称外,您可能还想使用宏而不是常量:
#define MY_FUNCTION factorial
int MY_FUNCTION(int number) {
int temp;
if(number <= 1) return 1;
temp = number * MY_FUNCTION(number - 1);
return temp;
}
Run Code Online (Sandbox Code Playgroud)
就个人而言,我没有看到这一点.当然,您只在一个地方更改了功能名称,但值得吗?
| 归档时间: |
|
| 查看次数: |
295 次 |
| 最近记录: |