https://github.com/deepgrace/monster
(700条消息) C/C++中空结构体、空数组、空类的作用_c++定义空数组_Panix2n_n的博客-CSDN博客
4、为什么使用空类?
空类在“泛型编程”中,空类(空结构)的用处非常广:
我们利用类型(通常是空类),来区别对待不同类对象的属性。
通过使用函数重载的方法,在参数中加入一个空类来作为区分不同的函数的方法,编译的时候直接选择,而不是在运行的时候选择,是非常提高效率的。
C++模板元编程
概述
所谓的元编程就是编写直接生成或操纵程序的程序,C++模板为C++语言提供了元编程的能力。模板使 C++ 编程变得异常灵活,能实现很多高级动态语言才有的特性(语法上可能比较丑陋,一些历史原因见下文)。普通用户对 C++ 模板的使用可能不是很频繁,大致限于泛型编程,但一些系统级的代码,尤其是对通用性、性能要求极高的基础库(如 STL、Boost)几乎不可避免的都大量地使用 C++ 模板,一个稍有规模的大量使用模板的程序,不可避免的要涉及元编程(如类型计算)。本文就是要剖析 C++ 模板元编程的机制。