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 propertiesAWXTArrayActor();protected:// Called when the game starts or when spawnedvirtual void BeginPlay() override;public: // Called every framevirtual 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);
}
在蓝图中测试,去编辑器代码。查看