UC++的NewObject方法中的Outer参数有什么用?

        在 Unreal Engine 中,NewObject 方法用于在运行时动态创建 UObject(Unreal Object)实例。其中的 Outer 参数表示新创建对象的外部(父对象)。这个参数有几个关键的作用:

  1. 内存管理:

            Outer 参数帮助 Unreal Engine 进行内存管理。在 UE 中,UObject 通常按照层次结构进行管理,而 Outer 参数表示新对象的父对象。当父对象销毁时,其子对象也会被销毁,这样可以简化内存管理。
  2. 命名空间和组织:

       Outer 参数有助于将对象组织到层次结构中,从而更好地管理和组织游戏对象。例如,你可以将所有角色对象组织在一个外部对象下,以便更容易在代码中进行引用和查找。
  3. 编辑器中的可见性:

            在 Unreal Editor 中,对象的 Outer 关系在层次浏览器中可见,这有助于理解对象之间的关系。通过 Outer 参数,可以更容易地在编辑器中定位和管理对象。

        以下是一个简单的示例,演示了如何使用 NewObject 创建一个具有父子关系的对象:

// 在 MyParentClass.h 中定义父类
UCLASS()
class YOURPROJECT_API UMyParentClass : public UObject
{
    GENERATED_BODY()
};

// 在某个地方的代码中使用 NewObject 创建子类的实例,并将父类作为 Outer 参数传递
UMyParentClass* ParentObject = NewObject<UMyParentClass>(this);

// 在 MyChildClass.h 中定义子类
UCLASS()
class YOURPROJECT_API UMyChildClass : public UObject
{
    GENERATED_BODY()
};

// 在某个地方的代码中使用 NewObject 创建子类的实例,并将父类作为 Outer 参数传递
UMyChildClass* ChildObject = NewObject<UMyChildClass>(ParentObject);

        在这个例子中,UMyChildClass 的实例被创建,其父对象为 UMyParentClass 的实例。这样,在编辑器中查看对象层次结构时,你可以看到这两个对象之间的父子关系。

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值