您当前的位置: 首页 >  ar

开发游戏的老王

暂无认证

  • 2浏览

    0关注

    803博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

虚幻引擎图文笔记:容器(一)动态数组TArray(补充FindByPredicate)

开发游戏的老王 发布时间:2020-06-05 09:16:39 ,浏览量:2

UE4自己封装的这套泛型容器使用起来非常方便,本文仅记录其中动态数组TArray的基本用法,还有更多的功能后面会陆续补充。

概要

动态数组TArray可以当作数组使用也可以直接充当链表、队列以及栈。在游戏开发中使用非常广泛。

文章目录
    • 概要
      • 声明
      • 添加
      • 删除
        • 更复杂的删除
      • 修改
      • 查找
        • 高级查找
      • 遍历

声明
	TArray Ints;//调用默认构造函数
添加
	Ints.Add(1);
	Ints.Add(2);
	Ints.Add(3);
	Ints.Add(4);
	Ints.Add(5);
	Ints.Add(6);
	Ints.Add(7);
	Ints.Add(8);
	Ints.Add(8);
	Ints.Add(9);
	Ints.AddUnique(9);
	Ints.Add(10);
  • Add是简单添加
  • AddUnique是当容器中不存在该元素再添加
删除
	Ints.Remove(8);
  • 不可以一边迭代一边删除
  • 如果有重复元素,重复元素都会被删除
更复杂的删除

如果想要删除满足某一条件的所有元素,可以使用RemoveAll

Ints.RemoveAll([](int V) {
    return V % 2 == 0;
});
修改
	Ints[4] = 100;
查找
	if(Ints.Contains(2))
	{
		UE_LOG(LogTemp,Warning,TEXT("2 found!"));
	}
高级查找
	int* Even = Ints.FindByPredicate([](int V)
	{
		return V % 2 == 0;
	});

	UE_LOG(LogTemp,Warning,TEXT("%d"),*Even);
遍历
	for (auto I: Ints)
	{
		UE_LOG(LogTemp,Warning,TEXT("%d"),I);
	}
关注
打赏
1656935939
查看更多评论
立即登录/注册

微信扫码登录

0.0465s