UE 跟着官方文档学习 容器TArray 系列三

一.先来看官方文档如何描述,写的通俗易懂。直接些测试代码

Append 能一次加多个,注意可能要换成UE_ARRAY_COUNT 算要加的数组的大小。

AddUnique()只会添加没有的,独一无二的。

Insert 插到指定下标。0,1,2,3

SetNum设置容器元素数量,没有的用元素类型默认构造,多的就移除。

二.测试代码

UCLASS()
class NETPRACTICE_API AWXTArrayActor : public AActor
{
	GENERATED_BODY()
	
public:	
	UFUNCTION(BlueprintCallable)
	void AddStructArray();

	UFUNCTION(BlueprintCallable)
	void EmplaceArray();

	UFUNCTION(BlueprintCallable)
	TArray<FString> AppendStrArray();

	UFUNCTION(BlueprintCallable)
	void AddUniqueString();

	UFUNCTION(BlueprintCallable)
	void InsertString();

	UFUNCTION(BlueprintCallable)
	void SetStringNum();

	// Sets default values for this actor's properties
	AWXTArrayActor();

protected:
	// Called when the game starts or when spawned
	virtual void BeginPlay() override;

public:	
	// Called every frame
	virtual void Tick(float DeltaTime) override;

	UPROPERTY()
	TArray<FXGAddStructInfo> StructArray;

};
void AWXTArrayActor::AddStructArray()
{
	StructArray.Add(100);
}

void AWXTArrayActor::EmplaceArray()
{
	StructArray.Emplace(200);
}

TArray<FString> AWXTArrayActor::AppendStrArray()
{
	FString Arr[] = {TEXT("of"),TEXT("Futrue")};
	TArray<FString> StrArr;
	StrArr.Add(TEXT("Hello"));
	StrArr.Emplace(TEXT("World"));
	StrArr.Append(Arr,UE_ARRAY_COUNT(Arr));
	return StrArr;
}

void AWXTArrayActor::AddUniqueString()
{
	TArray<FString> StrArr = AppendStrArray();
	StrArr.AddUnique(TEXT("!"));
	StrArr.AddUnique(TEXT("!"));
}

void AWXTArrayActor::InsertString()
{
	TArray<FString> StrArr = { "Hello","Baby","Fuck" };
	StrArr.Insert(TEXT("What"),2);
}

void AWXTArrayActor::SetStringNum()
{
	TArray<FString> StrArr = { "Hello","Baby","Fuck" };
	StrArr.SetNum(10);
	StrArr.SetNum(5);
}

在蓝图中测试,去编辑器代码。查看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/977361.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【linux】自主shell编写

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;linux笔记仓 目录 01.输出命令行02.获取用户命令字符串03.命令行字符串分割04.执行命令05.细节修改检查是否为内建命令 完整代码&#xff1a; 01.输出命令行 完成对一个shell 的编写&#xff0c;首…

R与RStudio简介及安装

目录 一、R与RStudio关系 二、R简介 2.1. 发展历史 2.2. R语言特点 三、安装指南 3.1 R安装指南 3.2 R studio安装指南 一、R与RStudio关系 R是统计领域广泛使用的工具&#xff0c;属于GNU系统的一个自由、免费、源代码开放的软件&#xff0c;是 用于统计计算和统计绘图…

在MPSOC上运行ADRV9371射频子板

本例程实现在MPSOC开发板上运行ADRV9026的HDL官方提供的历程。 解压提供文件压缩包“adrv9026.zip”&#xff0c;解压后有三个文件夹&#xff0c;首先是“hdl-2023_R2”为vivado端的项目&#xff0c;里面有各种射频子板加不同底板的项目&#xff0c;本例程使用的是ZCU102…

全面理解-深拷贝与浅拷贝

在 C 中&#xff0c;深拷贝&#xff08;Deep Copy&#xff09; 和 浅拷贝&#xff08;Shallow Copy&#xff09; 是两种完全不同的对象拷贝策略&#xff0c;主要区别在于对指针和动态分配资源的处理方式。正确理解二者的区别是避免内存泄漏、悬空指针和程序崩溃的关键。 一、核…

STM32-智能小车项目

项目框图 ST-link接线 实物图&#xff1a; 正面&#xff1a; 反面&#xff1a; 相关内容 使用L9110S电机模块 电机驱动模块L9110S详解 | 良许嵌入式 一、让小车动起来 新建文件夹智能小车项目 在里面复制19-串口打印功能 重命名为01-让小车动起来 新建文件夹motor&…

计算机毕业设计SpringBoot+Vue.js古典舞在线交流平台(源码+文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

Pretraining Language Models with Text-Attributed Heterogeneous Graphs

Pretraining Language Models with Text-Attributed Heterogeneous Graphs EMNLP 推荐指数&#xff1a;#paper/⭐⭐#​ 贡献&#xff1a; 我们研究了在更复杂的数据结构上预训练LM的问题&#xff0c;即&#xff0c;TAHG。与大多数只能从每个节点的文本描述中学习的PLM不同&…

力扣2382. 删除操作后的最大子段和

力扣2382. 删除操作后的最大子段和 题目 题目解析及思路 题目要求找到每次删除一个元素的最大字段和 因为删除不好做&#xff0c;可以转删除为添加&#xff0c;用并查集维护当前子段和 两部分合并(两个并查集)&#xff0c;三部分求和(两个并查集和一个元素) 代码 class S…

PythonWeb开发框架—Django之DRF框架的使用详解

1.安装依赖包 pip install djangorestframework 2.配置应用 在settings.py中的INSTALLED_APPS中添加rest_framework应用 3.创建序列化器 序列化器是用来操作models的 第一步&#xff1a;定义models ##models.pyfrom django.db import models# Create your models here.cl…

链表(LinkedList)面试题

1.1 ​​​​​​203. 移除链表元素 - 力扣&#xff08;LeetCode&#xff09; 分析&#xff1a;题目的要求是移除链表中值为val的所有元素&#xff0c;因此这道题需要使用循环解决问题&#xff0c;删除过程需要记录前一个结点的信息&#xff0c;所以需要使用双坐标解决问题。 …

Windows golang安装和环境配置

【1】、golang 1.19 sdk下载 https://download.csdn.net/download/notfindjob/90422529 【2】、安装 【3】、配置 GOPATH目录 【4】、LiteIDE下载安装 https://download.csdn.net/download/notfindjob/90422580 【5】、打开LiteIDE&#xff0c;选择查看->管理GOPATH&…

3D Web轻量化引擎HOOPS Communicator如何赋能航空航天制造?

在当今航空航天制造领域&#xff0c;精确度、效率和协作是推动行业发展的关键要素。随着数字化技术的飞速发展&#xff0c;3D Web可视化开发包HOOPS Communicator 为航空航天制造带来了革命性的变化。它凭借强大的功能和灵活的应用&#xff0c;助力企业在设计、生产、培训等各个…

Starlink卫星动力学系统仿真建模第十讲-基于SMC和四元数的卫星姿态控制示例及Python实现

基于四元数与滑模控制的卫星姿态控制 一、基本原理 1. 四元数姿态表示 四元数运动学方程&#xff1a; 3. 滑模控制设计 二、代码实现&#xff08;Python&#xff09; 1. 四元数运算工具 import numpy as npdef quat_mult(q1, q2):"""四元数乘法""…

linux 命令+相关配置记录(持续更新...)

linux 命令记录相关配置记录 磁盘切换 cd D&#xff1a;#这里表示切换到D盘查看wsl 安装的linux 子系统 wsl --list -vwsl 卸载 linux 子系统 wsl --unregister -xxx # xxx 表示子系统的名字备份Linux 子系统 导出 wsl --export xxx yyy # xxx 表示子系统的名字 yyy 表示压…

山东大学软件学院nosql实验一环境配置

环境&#xff1a;前端vue后端springboot 软件环境&#xff1a; MongoDB MongoDBCompass 实验步骤与内容&#xff1a; 在官网下载安装包&#xff08;最新版&#xff09; 配置环境环境变量 在“高级系统设置-环境变量”中&#xff0c;可以将MongoDB添加到环境变量Path中(D:\…

云手机如何进行经纬度修改

云手机如何进行经纬度修改 云手机修改经纬度的方法因不同服务商和操作方式有所差异&#xff0c;以下是综合多个来源的常用方法及注意事项&#xff1a; 通过ADB命令注入GPS数据&#xff08;适用于技术用户&#xff09; 1.连接云手机 使用ADB工具连接云手机服务器&#xff0c;…

Deepseek本地化部署指南:在Linux环境下部署,windows远程web-ui访问(Ubuntu环境+window环境)

一、在Ubuntu服务器上部署DeepSeek模型 要在Ubuntu上通过Ollama安装和使用DeepSeek模型&#xff0c;可以按照以下步骤操作&#xff1a; 安装Ollama 1、使用命令安装Ollama 命令语句&#xff1a;curl -sSfL https://ollama.com/install.sh | sh 2、验证安装是否成功 安装完…

数据库(MySQL)二

MySQL 六、MySQL索引视图6.1 索引底层原理6.1.1 索引hash算法6.1.2 索引二叉树算法6.1.3 索引平衡二叉树算法6.1.4 索引BTREE树算法6.1.5 普通SQL全表扫描过程 6.2 索引分类6.2.1 按数据结构层次分类6.2.2 按字段数量层次分类6.2.3 按功能逻辑层次分类&#xff08;面试题&#…

element ui的select选择框

我们首先先试一下&#xff0c;这个东西怎么玩的 <el-select v-model"select" change"changeSelect"><el-option value"香蕉"></el-option><el-option value"菠萝"></el-option><el-option value&quo…

git 的一些操作总结

1. Git 分支及基础操作指令 1.1 创建分支 # 创建新分支 git branch <branch_name># 创建并切换到新分支 git checkout -b <branch_name>1.2 切换分支 # 切换到指定分支 git checkout <branch_name># 切换到上一个分支 git checkout -1.3 查看分支 # 查看…