条款48:认识template元编程
本篇博客主要介绍一下template元编程的一些概念和一些功能,大家感兴趣的话可以去网上查找资料哈!
TMP即template metaprogramming,有两个重要的功能。
- 可以让一些事情变得更加容易;
- 由于template metagramming执行于C++编译期,因此可将工作从运行期转移到编译期间,上篇博客中提到的trait
class就是一种TMP。
总结:
1)Template metaprogramming(TMP,模板元编程)可将工作由运行期移往编译期,因而可以实现早起错误侦查和获得更高的执行效率;
2)TMP被用来生成“基于政策选择组合”的客户定制代码,也可用来避免生成对某些特殊类型并不适合的代码。