例如考虑这个单阶乘:
int factorial(int number) {
int temp;
if(number <= 1) return 1;
temp = number * __FUNCTION__(number - 1);
return temp;
}
它给:
error: '__FUNCTION__' cannot be used as a function
这个想法是使用这个常量而不是函数名,所以如果我更改函数的名称,则不需要查看其余代码来更新函数调用自身的名称。