random_iterator
-
Hey Leute,
wie deklariere ich denn einen random_iterator aus der Standardbibliothek?
ich habe:
std::map<double, string>::random_iterator;...nur funktioniert das leider nicht
vllt kann mir da schnell jemand weiterhelfen?
Mfg
-
Also wenn ich micht nicht irre und die Referenz richtig interpretiere unterstützt
std::mapkeine randomaccess_iterator sondern nur bidirectional iterators:This container class supports bidirectional iterators.
Auszug von hier:
http://www.cplusplus.com/reference/stl/map/
-
Du meinst wohl Random-Access-Iterator.

Von den STL-Container unterstützen nur
std::vectorundstd::dequeRandom-Access-Iteratoren,std::listund die sequenziellen Container benutzen bidirektionale Iteratoren. Du kannst allerdings mitstd::advance()die Funktionalität eines Random Access ersetzen, allerdings kann das performancemässig sehr ungünstig werden.Aber mal davon abgesehen haben die einzelnen Iteratorkategorien einen Sinn. Wieso sollte man in einer
std::mapauf das 35. Element zugreifen wollen? Wenn du sagst, wozu du das brauchst, können wir dir vielleicht Alternativen nennen.