摘要: C++ 中的奇技淫巧大部分来源于模板技术,尤其是模版元编程技术(Template Meta-Programming, TMP)。TMP 通过将一部分计算任务放在编译时完成,不仅提高了程序的性能,还能让程序获得一些用常见语法结构无法实现的功能。在这里,我总结了几个利用 TMP 实现静态反射的例子,这些功能得益于模板的特化或模板实例化时的 SFINAE 行为。(代码默认包含 头)1. 类型判定#define MakeIsType(Tp) \template \class Is_##Tp { \public: \ enum {value = false}; \}; \template \... 阅读全文
posted @ 2013-11-27 16:28 何磊 阅读(1876) 评论(5) 推荐(1) 编辑