摘要: 枚举 UENUM宏搭配BlueprintType可以将枚举暴露给蓝图,不使用的话,仅能在C++使用 //定义一个原生enum class enum class EMyType { Type1, Type2, Type3, }; namespace EState { enum Type { Stop, 阅读全文
posted @ 2021-04-22 21:07 砥才人 阅读(2376) 评论(0) 推荐(0) 编辑
摘要: 基本数据类型 TCHAR TCHAR就是UE4通过对char和wchar_t的封装 char ANSI编码 wchar_t 宽字符的Unicode编码 使用 TEXT() 宏包裹作为字面值 TCHAR* TCharString = TEXT("Hello, World!"); // 引擎字符串(TC 阅读全文
posted @ 2021-04-22 21:05 砥才人 阅读(4620) 评论(0) 推荐(1) 编辑
摘要: UFunction声明 UFunction 是虚幻引擎4(UE4)反射系统可识别的C++函数。UObject 或蓝图函数库可将成员函数声明为UFunction,方法是将 UFUNCTION 宏放在头文件中函数声明上方的行中。宏将支持 函数说明符 更改UE4解译和使用函数的方式。 可利用函数说明符将U 阅读全文
posted @ 2021-04-22 21:03 砥才人 阅读(2545) 评论(1) 推荐(1) 编辑
摘要: 属性声明 属性使用标准的C++变量语法声明,前面用UPROPERTY宏来定义属性元数据和变量说明符。 UPROPERTY([specifier, specifier, ...], [meta(key=value, key=value, ...)]) Type VariableName; 示例:位掩码 阅读全文
posted @ 2021-04-22 21:02 砥才人 阅读(5122) 评论(0) 推荐(1) 编辑
摘要: 轴映射与动作映射 编辑器设置input+代码实现具体动作 void AMyCharacter::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent) { Super::SetupPlayerInputComponent(Pl 阅读全文
posted @ 2021-04-22 20:25 砥才人 阅读(3156) 评论(0) 推荐(0) 编辑
摘要: 新标签打开或者下载看大图 更新: 增加 编程子系统 Subsystem 思维导图 Character pipeline 阅读全文
posted @ 2021-04-22 17:45 砥才人 阅读(1443) 评论(1) 推荐(1) 编辑
摘要: 新标签打开或者下载看大图 阅读全文
posted @ 2021-04-22 17:43 砥才人 阅读(1499) 评论(0) 推荐(1) 编辑
摘要: 新标签打开或者下载看大图 思维导图 Engine Structure Pipeline Programming Pipeline Blueprint Pipeline 阅读全文
posted @ 2021-04-22 17:36 砥才人 阅读(2182) 评论(0) 推荐(1) 编辑
摘要: 某些程序对内存分配有特殊要求,不能直接使用标准内存管理机制 重载new和delete算符可控制内存分配的过程 19.1.1 重载new和delete 说法“重载new和delete”,但重载new和delete与重载其他算符的过程非常不同 使用new/new []表达式的过程: 调用名为operat 阅读全文
posted @ 2021-04-22 17:08 砥才人 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 大规模应用程序的特殊要求包括: 在独立开发的子系统之间协同处理错误:异常处理 使用各种库(可能包含独立开发的库)进行协同开发:命名空间 对比较复杂的应用概念建模:多重继承 18.1 异常处理 异常处理机制允许程序在运行时对出现的问题进行通信并处理 异常使得可将问题的检测和解决分离,一部分用于检测问题 阅读全文
posted @ 2021-04-22 17:06 砥才人 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 17.1 tuple类型 tuple是类似pair的模板: pair和tuple的成员类型都可以不相同 pair恰好有两个成员,tuple可有任意数量的成员 按照不同参数数量和类型实例化出的tuple是不同类型 tuple类型及其伴随类型和函数都在头文件tuple中 17.1.1 定义和初始化tup 阅读全文
posted @ 2021-04-22 17:02 砥才人 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 面向对象编程(OOP)和泛型编程(GP)都能处理在编写程序时类型未知的情况 OOP能处理运行时获取类型的情况 GP能处理编译期可获取类型的情况 标准库的容器、迭代器、算法都是泛型编程 编写泛型程序时独立于任何类型,使用泛型程序时提供类型,程序实例在该类型上运行 模板是泛型编程的基础。一个模板是一个创 阅读全文
posted @ 2021-04-22 16:48 砥才人 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 15.1 OOP:概述 **面向对象程序设计(object-oriented programming)**的核心思想是:数据抽象、继承、动态绑定 使用数据抽象,可将类的接口与实现分离 使用继承,可定义相似的类型并对其相似关系建模 使用动态绑定,可在一定程度上忽略相似类型的区别,以统一的方式使用它们的 阅读全文
posted @ 2021-04-22 16:47 砥才人 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 14.1 基本概念 重载的运算符是特殊的函数:名字由关键字operator后接要定义的算符共同组成,也有返回类型、参数列表、函数体。 重载运算符函数的参数量与该算符作用的运算对象数量一样多 除重载调用运算符operator()外,其他重载运算符不能有默认实参 若一个重载运算符是成员函数,则其第一个运 阅读全文
posted @ 2021-04-22 16:38 砥才人 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 定义一个类时,可显式或隐式的指定在此类型对象上拷贝、移动、赋值、销毁时做什么。通过5种成员函数实现拷贝控制操作: 拷贝构造函数:用同类型的另一个对象初始化本对象时做什么(拷贝初始化) 拷贝赋值算符:将同类型的另一个对象赋值给本对象时做什么(拷贝赋值) 移动构造函数:用同类型的另一个对象初始化本对象时 阅读全文
posted @ 2021-04-22 16:36 砥才人 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 对象的生存期: 全局对象:程序启动时创建,程序结束时销毁 局部static对象:第一次使用前创建,程序结束时销毁 局部自动对象:定义时创建,离开定义所在程序块时销毁 动态对象:生存期由程序控制,在显式创建时创建,显式销毁时销毁 动态对象的正确释放极易出错。为安全使用动态对象,标准库定义了智能指针来管 阅读全文
posted @ 2021-04-22 16:34 砥才人 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 关联容器的元素按照关键字来保存和访问,而顺序容器的元素是按照在容器中的位置来保存和访问 关联容器支持高效的关键字查找和访问 2种关联容器: map中的元素是关键字-值对(key-value对),关键字作为索引,值表示与索引相关的数据 set中的元素只包含关键字 8个关联容器: map 关联数组,保存 阅读全文
posted @ 2021-04-22 16:31 砥才人 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 标准库未给容器添加大量功能,而是提供一组独立于容器的泛型算法 算法:它们实现了一些经典算法的公共接口 泛型:它们可用于不同类型的容器和不同类型的元素 利用这些算法可实现容器基本操作很难做到的事,例如查找/替换/删除特定值、重排顺序等 10.1 概述 大多数算法定义在algorithm头文件中,另外一 阅读全文
posted @ 2021-04-22 16:25 砥才人 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 一个容器是特定类型对象的集合 顺序容器中元素的顺序与其加入容器的位置对应 关联容器中元素的顺序由其关联的关键字决定,关联容器分为有序关联容器和无序关联容器 所有容器类共享公有接口,不同容器按不同方式扩展。 标准库还提供了3种容器适配器,为容器操作定义了不同的接口 9.1 顺序容器概述 所有容器都可快 阅读全文
posted @ 2021-04-22 16:21 砥才人 阅读(311) 评论(0) 推荐(1) 编辑
摘要: C++语言不直接处理输入输出,而是通过标准库中的一组类来处理IO 1.2节介绍的IO库: istream(输入流)类型,提供输入 ostream(输出流)类型,提供输出 cin,是istream对象,从标准输入读取数据 cout,是ostream对象,向标准输出写数据 cerr,是ostream对象 阅读全文
posted @ 2021-04-22 16:13 砥才人 阅读(238) 评论(0) 推荐(0) 编辑