原文:【UE4 C++ 基础知识】<15> 智能指针 TSharedPtr、UniquePtr、TWeakPtr、TSharedRef

基本概念 UE 对 UObject 对象提供垃圾回收 UE 对原生对象不提供垃圾回收,需要手动进行清理 方式 malloc free new delete new与malloc的区别在于,new在分配内存完成之后会调用构造函数。 缺点 如果不及时清理,则会占用内存,或者导致内存泄漏 如果不小心提前清理,则会导致野指针 UE 提供共享指针库来管理内存,它是C 智能指针的自定义实现 分类 TShare ...

2021-05-04 17:00 0 5671 推荐指数:

查看详情

UE4 C++ 基础知识】<6> 容器——TMap

概述 TMap主要由两个类型定义(一个键类型和一个值类型),以关联对的形式存储在映射中。 将数据存储为键值对(TPair<KeyType, ValueType>),只将键 ...

Sat Apr 24 04:42:00 CST 2021 0 230
UE4 C++ 基础知识】<9> Interface 接口

概述 简单的说,接口提供一组公共的方法,不同的对象中继承这些方法后可以有不同的具体实现。 任何使用接口的类都必须实现这些接口。 实现解耦 解决多继承的问题 蓝图使用 使用方法 三种调用方法的区别 调用流关卡蓝图的接口函数 C++ 使用接口 本例使用 ...

Mon Apr 26 01:43:00 CST 2021 0 424
UE4 C++ 基础知识】<10>资源的引用

2种引用方式 硬引用(Hard Reference) 即对象 A 引用对象 B,并导致对象 B 在对象 A 加载时加载 硬引用过多会导致运行时很多暂时用不到的资源也被加载到内存中 大量 ...

Tue Apr 27 05:22:00 CST 2021 0 364
UE4 C++ 基础知识】<8> Delegate 委托

概念 定义 UE4中的delegate(委托)常用于解耦不同对象之间的关联:委托的触发者不与监听者有直接关联,两者通过委托对象间接地建立联系。 监听者通过将响应函数绑定到委托上,使得委托触发时立即收到通知,并进行相关逻辑处理。 委托,又称代理,本质是一个特殊类的对象,它内部 ...

Sat Apr 24 22:54:00 CST 2021 0 284
[UE4]虚幻4的智能指针

虚幻自己实现了一套智能指针系统,为了跨平台。 指针: 占用8个字节,4个字节的Object指针,4字节的引用计数控制器的指针, 引用计数控制器需要12字节, 一个C++的Object指针4字节,一个共享引用计数,4字节,一个弱引用计数,4字节。 简单用法如下,当sharepoint ...

Sun Apr 01 18:56:00 CST 2018 0 3739
C++ 中的智能指针-基础

要点回顾 此部分方便知识点快速回顾,首次阅读请从引言部分开始。 RAII 的主要原则就是把任何在堆上分配的资源(比如动态分配的内存或者系统对象的处理)的所有权提供给在栈上分配的对象(其析构函数包含释放资源及相关清理的代码)。 在现代 C++ 中,原始指针只用于包含 ...

Thu Feb 18 21:55:00 CST 2021 0 334
UE4 C++ 基础知识】<4> 枚举 Enum、结构体 Struct

枚举 UENUM宏搭配BlueprintType可以将枚举暴露给蓝图,不使用的话,仅能在C++使用 结构体 BlueprintType可以将枚举暴露给蓝图 继承FTableRowBase之后可以用于DataTable 参考 结构体 ...

Fri Apr 23 05:07:00 CST 2021 0 360
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM