前言 Reflection:反射,这一特性在许多主流语言中都能找到,可以在运行时动态的获取类型信息。 一些人认为在cpp中编程时,可以规避掉使用反射,转而用模板来实现,或者使用反射就是程序设计出现了问题;要么就是有关于运行时反射对于性能影响,都用到反射了还不如去用Java之类的说辞。但我认为,在cpp中还是有一些需求是可以用到运行时反射的:对象的序列化与反序列化、可以通过字符串查找类型与创建对象、运行时判断继承关系等功能。 分析 反射信息属于一种元数据,这种元数据储存了类型相关的信息,如:类型名、基类、字段、方法、…