c++ 函数指针代替 if 判断语句 就算 公差为1的等差数列和
起因代码参考来源:mq
#includeusing namespace std; int sum_zero(int n) { return 0; } int sum_iota(int n) { using funcptr = int(*)(int); funcptr branch[] = {&sum_iota, sum_zero}; return n + branch[n - 1 == -1](n - 1); } int main() { for(int i = 0; i <= 100; i++) cout << sum_iota(i) << "n"; return 0; }



