출력 ++의 STL 맵 반복자 :C 값을 I는 다음 코드가 육각
map<StatTypesEnum, ValueHandler*>::const_iterator itr;
for(itr=player1->Stats.begin(); itr!=player1->Stats.end(); itr++)
{
cout << "Stat: " << itr->first << " Value: " << (ValueHandler*)(itr->second)->getValue() << endl;
}
getValue() 메소드는 int를 반환한다. 내가 이터레이터 외부의 값을 계산하면 base10의 십진수로 표시됩니다. 그러나 iterator를 사용하여 값을 반환하면 (위와 같이) base16, hex로 표시됩니다.
그냥 완성도를 들어, 다음 줄은 유효한 시간으로 표시 나는 유효한 시간을 표시하는 반복자를 원하는
cout << player1->Stats[Power]->getValue() << endl;
.
감사합니다.
예 - 훨씬 간단합니다 - 어떤 이유로 저는 itr-> second를 캐스팅해야한다고 생각했지만 이미 올바른 유형입니다. - 감사 – IUnknown