文章目录
template metaprogramming(TMP,模板元编程)是编写template-based C++程序并执行于编译期的过程。
TMP的优缺点——263
TMP有两个伟大的效力:
(1)它让某些事情更容易。
(2)由于template metaprograms执行于C++编译期,因此可将工作从运行期转移到编译期。
基于第2个效力产生3个结果:
(1)某些错误原本通常在运行期才能侦测到,现在可在编译期找出来。
(2)使用TMP的C++程序可能在每一方面都更高效:较小的可执行文件、较短的运行期、较少的内存需求。
(3)编译时间变长了。
TMP内容有点难理解,需要完全弄懂条款47,以后用到再完善。
总结——268
(1)TMP可将工作由运行期移往编译期,因而得以实现早期错误侦测和更高的执行效率。
(2)TMP可被用来生成“基于政策选择组合”的客户定制代码,也可用来避免生成对某些特殊类型并不适合的代码。