PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : STL multimap



coredump2005
06-06-2005, 11:22
Hallo!

Ich hab mal eine Frage die nicht Linux spezifisch ist und eher Richtung Codingstyle abzielt. Nehmt an ihr habt eine stl::multimap gefüllt mit strings als key und möchtet darin z.B. alle Einträge haben, die dem Key "hallo" entsprechen. Wie und geht ihr die multimap durch um diese Einträge zu bekommen? Ich mach das im Moment so, es gibt aber noch mehrere Möglichkeiten:




l_iterComp = l_mmap.find( string( "hallo" ) );

for ( l_iterComp; l_iterComp->first == string( "hallo" ); l_iterComp++ )
{
if ( l_iterComp != l_mmap.end( ) )
cout << l_iterComp->second << endl;
else
break;
}


Danke!
Gruß Mario

locus vivendi
06-06-2005, 12:32
Du kannst dir durch multimap::lower_bound(key) und multimap::upper_bound(key) zwei Iteratoren geben lassen, die Anfang bzw. Ende (genaugenommen, eins hinter dem Ende) der gesuchten Sequenz sind.