Es ist nicht sicher, um zu versuchen einen ungültigen Index eines tarray zuzugreifen, aber der Motor bietet eine bequeme Möglichkeit, den Index zu überprüfen, bevor Sie versuchen, es zu lesen:
TArray<ASomeActor*> SomeActors;
if (SomeActors.IsValidIndex(0))
{
ASomeActor* SomeActor = SomeActors[0];
return SomeActor;
}
else
{
return nullptr;
}
sicherer sein würde. Es ist auch durchaus sinnvoll die Array Größe zu überprüfen, bevor Sie versuchen, es zu lesen:
If (SomeActors.Num() > 0)
{
return SomeActors[0];
}
Sie einen ternären Operator verwenden können, wenn Sie eine konstante Zuordnung vornehmen müssen:
const ASomeActor* SomeActor = SomeActors.IsValidIndex(0) ? SomeActors[0] : nullptr;
Welchen Teil der Dokumentation ist verwirrend ? –
Nun in der [Unreal Engine API-Referenz] (https://docs.unrealengine.com/latest/INT/API/Runtime/Core/Containers/TArray/index.html) es sagt nur: "Array Klammer Operator.". – Shiro
Vom Aussehen her ist es wie 'std :: vector' und es ist nicht sicher für' std :: vector'. – NathanOliver