【UE4】常见的 反射宏

UPROPERTY
UPROPERTY(EditAnywhere)
FString  fStr

UPROPERTY 到底有啥用

  1. 首先 会把该变量 加入到UE的内存计数管理中 。(很重要)
  2. 根据后面的参数 表示该变量的状态
    2.1. 是否可以被 蓝图 使用 只读 可写 可见 等等

UPROPERTY 不能用来标识 复杂的嵌套声明

//UPROPERTY(EditAnywhere, BlueprintReadWrite) 加宏 会报错
TMap<int32,TArray<int32>>  MMap;

但是可以拆分之后声明

UCLASS(BlueprintType, Blueprintable)
class UArrayList : public UObject
{
	GENERATED_BODY()
public:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TArray<int32> List;
};


UCLASS(BlueprintType, Blueprintable)
class UMapTest : public UObject
{
GENERATED_BODY()
public:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TMap<int32, UArrayList* >  MMap;
}

类似这种问题 未加宏 Map会 内存释放 , value为 null
开发过程中会造成莫名其妙的问题 ,Crash都是幸运的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值