静态元编程(也称为“模板元编程”)是一种很棒的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;
}
如果想了解更多关于C++静态元编程的知识,那么最好的来源是什么(书籍、网站、在线课件等等)?
发布于 2008-09-21 21:56:19
Andrei Alexandrescu的Modern C++ Design一书涵盖了快速高效的现代C++代码的许多技巧,也是Loki库的基础。
同样值得一提的是Boost库,它们大量使用这些技术,并且通常具有非常高的学习质量(尽管有些库相当密集)。
发布于 2008-09-21 21:56:48
Modern C++ Design,这是Alexandrescu写的一本优秀的书和设计模式框架。警告一句,在读完这本书后,我停止了做C++,并想:“见鬼,我可以选择一种更好的语言,然后免费获得它”。
发布于 2008-09-21 21:54:51
Modern C++是我读过的最好的介绍之一。它涵盖了模板元编程的实际有用的示例。还可以看看配套的库Loki。
https://stackoverflow.com/questions/112277
复制相似问题