普通にやると以下のようなチェックになると思います。
TArray<FString> Array = { TEXT("Apple"), TEXT("Banana"), TEXT("Cherry") };
int32 Index = -1;
// 範囲外アクセスチェック
if(Index < 0 || Index >= Array.Num())
{
// 範囲外
return;
}
// 範囲内
しかし、UnrealEngineには便利なチェック関数を用意しています。
TArray<FString> Array = { TEXT("Apple"), TEXT("Banana"), TEXT("Cherry") };
int32 Index = -1;
// 範囲外アクセスチェック
if(!Array.IsValidIndex(Index))
{
// 範囲外
return;
}
// 範囲内
IsValidIndex()は UE_FORCEINLINE_HINT がついているので
ほぼインライン化されそうです。
UE_FORCEINLINE_HINT については難しくて自分もよくわかっていませんが、
コンパイルによってインライン設定が変わっていそう?


