反射
描述运行时得到类型的功能,通过类型信息反过来创建对象,读取修改属性,调用方法的功能行为
- 反射用于在是在程序运行时动态加载类以及获取类的信息,反射数据描述了类在运行时的内容
- 这些数据所存储的信息包括类的名称、类中的数据成员、每个数据成员的类型、每个成员位于对象内存映像的偏移(offset),此外,它也包含类的所有成员函数信息。
作用
- 实现序列化
- 实现editor的details panel
- 垃圾回收
- 网络复制
- 蓝图/C++通信和相互调用
UObject是反射系统的核心。每一个继承UObject且支持反射系统的类型都有一个相应的UClass,或者它的子类,UClass中包含了该类的描述信息。UObject与UClass也组成了UE4对象系统的基石