[UE4]TSubobjectPtr和C++传统指针的区别

news/2024/5/18 22:08:57

 

主要有以下区别(1和2的前提条件要满足:指针所在的class必须是UObjcct的子类):

 

1,TSubobjectPtr指针是UE4 API里面为C++传统指针(Native C++ Pointer)提供的智能指针。

当指针指向的对象被Destroy以后,TSubobjectPtr会被自动置零,C++传统指针需要你手动置NULL。

 

2,如果TSubobjectPtr加上UE4 模版符号:UPROPERTY(),那么该指针可以暴露给UE4编辑器操作;而C++传统指针不可以。

 

 

参考:

https://answers.unrealengine.com/questions/60581/tsubobjectptr-vs-uboxcomponent.html

 

 


http://www.niftyadmin.cn/n/3921986.html

相关文章

[UE4]Assert诊断方式:check()、verify()

官方文档: https://docs.unrealengine.com/latest/CHN/Programming/Assertions/index.html check(Mesh ! nullptr); check(bWasInitialized && "Did you forget to call Init()?"); verify((Mesh GetRenderMesh()) ! nullptr); 文档中提到需要定…

螺旋矩阵之扩展

螺旋矩阵之扩展 为了名誉 这篇文章 网络小乞丐 写于2021-03-28 螺旋矩阵 试着实现这么一种诡异的数组 在上大学的时候有小人走迷宫撞墙实现思路,不过我觉得应该有个数学函数之类的,一直琢磨,最后还是琢磨出来了 static int GetIndex(in…

[UE4]非法delete了数据后导致引擎崩溃的问题

第一次碰到这种崩溃的问题,查了好几天,之前一直怀疑是UE4自身的bug,今天仔细review了下相关代码,还是自己代码问题,备注下!! 原因是我代码里面有两个变量命名过于相近,在手动delete变…

[UE4]Android编译错误:error: ISO C++11 does not allow conversion from string literal

安卓打包编译代码时报错: error: ISO C11 does not allow conversion from string literal to TCHAR * (aka wchar_t *) [-Werror,-Wwritable-string 解决办法: 将函数中的参数 TCHAR* aaa 改成 const TCHAR* aaa 参考: https://answers.unre…

KBEngine奇技淫巧<一>

KBEngine奇技淫巧<一> 最近在读KBEngine代码&#xff0c;记录一下看到的奇技淫巧 命名规则 KBEngine的CPP命名规则是一个很诡异的命名规则&#xff0c;虽然有迹可循&#xff0c;但是不是匈牙利命名法&#xff0c;所以有点不适应。 成员变量 类内成员的命名是小驼峰下…

[UE4]FBX导入时模型贴图半透明的解决办法

FBX导入UE4后&#xff0c;模型可能是这种半透明的状态&#xff1a; 解决办法&#xff1a; 1&#xff0c;打开模型的Material 2&#xff0c;修改Blend Mode为Masked 或者 Opaque 3&#xff0c;保存、应用即可。

KBEngine奇技淫巧<二>

KBEngine宏定义诡异的宏定义协议处理中的宏定义DEFINE_IN_INTERFACEBASEAPP协议声明宏NETWORK_MESSAGE_HANDLERKBEngine宏定义习惯KBEngine宏的作用诡异的宏定义 KBEngine引擎大约分为资源&#xff0c;脚本&#xff0c;网络&#xff0c;事件[逻辑]四个部分&#xff0c;在每一个…

C++98宏实现std::tuple

原文&#xff1a;http://geek.csdn.net/news/detail/61260 最近准备重构一下我的kapok库&#xff0c;让meta函数可以返回元素为kv的tuple&#xff0c;例如&#xff1a; struct person {std::string name;int age;META(name, age) //定义一个支持变参的meta函数 }; int main() {…