Template Metaprogramming
来自cppreference.com
模板元编程是用于在编译时创建新类型和进行值计算的一系列技术。排除对递归实例化的数量和所允许的状态变量的个数上的限制不提,C++ 模板是图灵完备的。Erwin Unruh 在标准委员会会议上首次演示了模板元编程,它指示编译器以错误消息的形式打印一些质数。标准建议实现支持至少 1024 层递归实例化,而模板实例化的无穷递归则是未定义行为。
本节未完成 原因:技术 (特化,SFINAE, ADL, 索引序列, 折叠, constxpr if, etc) |
本节未完成 原因:术语 (traits, typelists, metafunctions, etc) |
本节未完成 原因:库 Boost.MPL / Boost.Mp11 / Metal / Kvasir.MPL / Boost.Hana / etc (可能还有远古的 Loki) |
本节未完成 原因:历史 |
外部链接
1. | David Vandevoorde, Nicolai M. Josuttis, Douglas Gregor (2017), C++ Templates - The Complete Guide, 2nd Edition. |
2. | Wikibook: Template Meta-Programming. |
3. | Wikipedia: Template Meta-Programming. |