UE中的宏GENERATED_BODY()做了什么?

宏GENERATED_BODY做了什么? - 阿佑001 - 博客园 (cnblogs.com)

  1. 添加了一个静态函数static void StaticRegisterNativeUMyObject();
  2. 声明结构体struct Z_Construct_UClass_UMyObject_Statics;为friend
  3. 添加了一个public构造函数UMyObject(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get());
  4. 通过声明private: UMyObject(UMyObject&&); UMyObject(const UMyObject&&);禁用move和copy
  5. 通过声明private: UMyObject& operator=(UMyObject&&); UMyObject& operator=(const UMyObject&&);禁用赋值动作
  6. 增加一个静态函数static UClass* GetPrivateStaticClass();
  7. 内部枚举enum {StaticClassFlags=};
  8. 内部类型定义Super,表示父类
  9. 内部类型定义ThisClass,表示该类的UClass对象
  10. 添加静态函数staic UClass* StaticClass();,用来返回当前类的UClass对象
  11. 添加静态函数static const TCHAR* StaticPackage();,返回当前类所属的包名
  12. 添加静态函数inline static EClassCastFlags StaticClassCastFlags(),放回当前类静态转型标记

你可能感兴趣的:(虚幻,游戏引擎,c++)