如果不用循环,递归等方法计算1-n的和的方法如下:
通过模版在编译期可以计算出来,可以提高效率;
#include "stdafx.h"
template<int n>
struct sum
{
enum{ result = n + sum<n-1>::result };
};
template<>
struct sum<0>
{
enum{ result = 0};
};
int _tmain(int argc, _TCHAR* argv[])
{
printf("result: %d\n", sum<100>::result);
getchar();
return 0;
}