Task:打印从1到printf()
0的数字,不使用任何循环或条件语句.不要只写printf()
或cout
语句printf()
0次.
你怎么用C或C++来做?
Task:打印从1到printf()
0的数字,不使用任何循环或条件语句.不要只写printf()
或cout
语句printf()
0次.
你怎么用C或C++来做?
编译时递归!:P
#include <iostream>
template<int N>
struct NumberGeneration{
static void out(std::ostream& os)
{
NumberGeneration<N-1>::out(os);
os << N << std::endl;
}
};
template<>
struct NumberGeneration<1>{
static void out(std::ostream& os)
{
os << 1 << std::endl;
}
};
int main(){
NumberGeneration<1000>::out(std::cout);
}