NET下的很多技术都是基于反射机制来实现的,反射让.NET平台下的语言变得得心应手.最简单的,比如枚举类型,我们我可以很容易的获得一个枚举变量的数值以及其名称字符串. 可是,在C++中,枚举变量本质上和一个整形变量没有区别,我们很难获取一个枚举变量的名称字符串. 其实在C++中,我们可以通过宏来实现类似反射的机制. 接下来,我想总结一下如何在C++中实现一个类似于C#枚举类型的方法. __VA_ARGS__ 使用__VA_ARGS__,我们可以定义带可变参数的宏,举个例子: #define MY