UE4 TArrayのSetNumZeroedふるまいメモ

UE4.20.2

UE4のCodePluginでTArrayを多用していていつもSetNumZeroedの挙動を忘れるのでメモ


TArray::SetNumZeroed(NewSize, bAllowShrinking)

  • SetNumZeroed()によって要素数が増える場合
    • ゼロ値要素が末尾に付加される。元の要素は変化しない。
TArray<float> testArray;
testArray.Add(1.0f);
testArray.Add(2.0f);
testArray.Add(3.0f); // { 1.0, 2.0, 3.0 }
testArray.SetNumZeroed(5); // { 1.0, 2.0, 3.0, 0.0, 0.0 }
  • SetNumZeroed()によって要素数が減る場合
    • 単純に切り詰められる。元の要素は変化しない。
TArray<float> testArray;
testArray.Add(1.0f);
testArray.Add(2.0f);
testArray.Add(3.0f); // { 1.0, 2.0, 3.0 }
testArray.SetNumZeroed(1); // { 1.0 }


関係ないけどTArrayの要素を指定した値(ゼロとか)にするメソッドがほしい
(ないよね?)