之前只是认为自己实现RTTI的原因是dynamic_cast的效率不高和对象工厂的需要, 原来关掉这个编译选项还可以减少占用的内存
Field(Property)
实现反射必须有一些属性成员的描述类,...class/struct的offset和size, 再根据实例指针计算出内存地址
Method
目前还没有看到把方法也做了反射的引擎, 到是cppreflect里有实现....编码上越简洁越好, 复杂的可以使用脚本代替
Clone
做了反射的另一个好处就是对象可以深度拷贝, 这也是Prefab/Template的基础要求
Serialization
有了反射做序列化相当的方便..., 如果没有的话就像GameBryo那样做也凑合
把Name(或CRC)与Value一起序列化后就可以做到版本的兼容, 对于成员属性改动频繁的情况很实用
对于重复性的数据的二进制序列化可以进行压缩, 如数组...)不同的数据
Others
以前做Delegate实现的时候只接触过成员函数指针, 没想到还有个成员变量指针, C++真是博大精深
Enum和Container需要特殊对待
如果要反射到.net的PropertyGrid