静态元编程(又名"模板元编程")是一种很棒的C++技术,它允许在编译时执行程序.一读到这个规范的元编程示例,一个灯泡在我脑海中消失了:
#include <iostream>
using namespace std;
template< int n >
struct factorial { enum { ret = factorial< n - 1 >::ret * n }; };
template<>
struct factorial< 0 > { enum { ret = 1 }; };
int main() {
cout << "7! = " << factorial< 7 >::ret << endl; // 5040
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果想要了解更多关于C++静态元编程的知识,那么最好的来源是什么(书籍,网站,在线课件,等等)?