如何实现重复调用一个函数,非循环
#define DUP_CALL(func, param, nTimes)
比如我调用:
DUP_CALL(puts, "Hello, world!", 3);
编译器将会自动生成——
puts("Hello, world!");
puts("Hello, world!");
puts("Hello, world!");
[解决办法]
http://topic.csdn.net/u/20110902/15/0329803b-c428-47f5-8dc2-6fd0c34b9e55.html?94808
[解决办法]
可以把宏弄成循环?
类似
#define FOR(count) {for(int i=0; i<count; i++) printf("xxx");}
或者
递归宏,不过要写太多
或者就使用
luciferisnotsatan说的那个TTL库
[解决办法]
template<unsigned n>
class MySum
{
public:
enum{ sum = n + MySum<n-1>::sum};
};
template<>
class MySum<0>
{
public:
enum{ sum = 0};
};