首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C++模板元编程的最佳介绍?

C++模板元编程的最佳介绍?
EN

Stack Overflow用户
提问于 2008-09-21 21:50:37
回答 8查看 62.3K关注 0票数 116

静态元编程(也称为“模板元编程”)是一种很棒的C++技术,它允许在编译时执行程序。当我读到这个规范的元编程示例时,我的脑海中顿时亮起了灯泡:

代码语言:javascript
运行
复制
#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++静态元编程的知识,那么最好的来源是什么(书籍、网站、在线课件等等)?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2008-09-21 21:59:49

回答我自己的问题

到目前为止,我找到的最好的介绍是第10章,“C++中的静态元编程”,来自Krzysztof察尔内基和Ulrich W.Eisenecker的生成式编程,方法,工具和应用,ISBN-13: 9780201309775;以及第17章,“元程序”,由David Vandevoorder和Nicolai M.Josuttis著,ISBN-13: 9780201734843。

Todd Veldhuizen有一个很好的教程here

一般来说,C++编程的一个很好的资源是Andrei Alexandrescu的现代C++设计,ISBN-13: 9780201704310。这本书混合了一些元编程和其他模板技术。特别是元编程,请参阅2.1节“编译时断言”、2.4节“将整数常量映射到类型”、2.6节“类型选择”、2.7节“在编译时检测可转换性和继承性”、2.9节"NullTypeEmptyType“和2.10节”类型特征“。

我找到的最好的中级/高级资源是David Abrahams和Aleksey Gurtovoy的C++模板元编程,ISBN-13: 9780321227256

如果您只喜欢一本书,请参阅C++ Templates: The Complete Guide,因为它也是一般模板的权威参考。

票数 115
EN

Stack Overflow用户

发布于 2008-09-21 21:56:19

Andrei Alexandrescu的Modern C++ Design一书涵盖了快速高效的现代C++代码的许多技巧,也是Loki库的基础。

同样值得一提的是Boost库,它们大量使用这些技术,并且通常具有非常高的学习质量(尽管有些库相当密集)。

票数 25
EN

Stack Overflow用户

发布于 2008-09-21 21:56:48

Modern C++ Design,这是Alexandrescu写的一本优秀的书和设计模式框架。警告一句,在读完这本书后,我停止了做C++,并想:“见鬼,我可以选择一种更好的语言,然后免费获得它”。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/112277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档