984 B
Raw Blame History

不写UCLASS()

  • 功能描述: 只是作为一个普通的C++对象,没有反射功能。

  • 引擎模块: UHT

  • 元数据类型: bool

  • 关联项: UCLASS()

  • 常用程度:

只是作为一个普通的C++对象,没有反射功能。

一般情况继承自UObject的最少也会有一个UCLASS()这样才有反射功能。但是注意如果调用UMyClass_NoUCLASS::StaticClass()会返回基类UObject的Class因为子类没有覆盖。因此也可以说本类是没有生成自己的UClass元数据对象。

class INSIDER_API UMyClass_NoUCLASS :public UObject
{
	
};

UObject的Class默认的标记是CLASS_Abstract | CLASS_MatchedSerializers | CLASS_Native | CLASS_TokenStreamAssembled | CLASS_Intrinsic | CLASS_Constructed。因此不能被NewObject生成对象。在手动去掉CLASS_Abstract后可以正常new但是对象的名称依然是Object显然这是因为使用的就是Object的Class。