from
http://stackoverflow.com/questions/4568645/printing-1-to-1000-without-loop-or-conditionals
#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); }
本文介绍了一种使用C++模板元编程的方法来实现从1到1000的数字打印,该方法避免了使用传统的循环或条件语句。通过递归模板特化,每个数字都有对应的模板实例负责输出。
271

被折叠的 条评论
为什么被折叠?



