1. 程式人生 > >UE4用C++建立動態陣列

UE4用C++建立動態陣列

  1. 建立一個數組

    TArray<int32> IntArray;
    
  2. 通過同一個元素填充初始化

    IntArray.Init(10, 5);   
    
    等同於// IntArray == [10, 10, 10, 10, 10]
    
  3. 增加新元素

    // Add會引入臨時物件,優先使用EmplaceT
    // Push提供了兩個一樣功能的過載函式可以分別代替Add和Emplace。
    所以無論何時使用Push比Add和Emplace更加方便了:
    
    TArray<FString> StrArr;
    
    StrArr.Add(TEXT("Hello"));
    
    StrArr.Emplace(TEXT("World"));
    
    StrArr.Push("Hello World");
    
  4. 追加多個元素

    FString Arr[] = { TEXT("of"), TEXT("Tomorrow") };
    
    StrArr.Append(Arr, ARRAY_COUNT(Arr));
    
    // StrArr == ["Hello", "World", "of", "Tomorrow"]
    
  5. 只有容器中不存在該元素的時候,才新增

    StrArr.AddUnique(TEXT("!"));
    
    // StrArr = ["Hello", "World", "of", "Tomorrow", "!"]
    
    StrArr.AddUnique(TEXT("!"));
    
    // StrArr沒有變
    
  6. 插入

       StrArr.Insert(TEXT("Brave"), 1);
       
       //StrArr == ["Hello","Brave","World","of","Tomorrow","!"]
    
  7. 直接設定陣列的元素個數 // 如果大於當前值,那麼使用元素型別的預設建構函式建立新元素 // 如果小於當前值,相當於刪除元素

       StrArr.SetNum(8);
    
       // StrArr ==["Hello","Brave","World","of","Tomorrow","!","",""]   
    
       StrArr.SetNum(6); 
       
       // StrArr ==["Hello","Brave","World","of","Tomorrow", "!"]