TMap<:type fsimplekeystate> KeyStateMap;
for (TMap<:type>::TIterator It(KeyStateMap); It; ++It)
{
EGameKey::Type* const k = &It.Key();
FSimpleKeyState* const v = &It.Value();
}
C++11风格:
TMap MyMap;
// New style
for (auto& Kvp : MyMap)
{
UE_LOG(LogCategory, Log, TEXT("Key: %s, Value: %d"), *Kvp.Key, Kvp.Value);
}
注意事项:
1,如果for循环内执行remove操作,那么remove之后,当前的Element就不要在使用了,因为其指向的内存已被回收了,例如:
for (auto& Elem : CharacterList)
{
...
CharacterList.Remove(Elem.Key);
//此时在使用Elem会出现寻址错误
FVector Loc = Elem.Key->GetActorLocation();
...
}