iteratoren speichern



  • Nur noch mal zu Versicherung:

    Wenn ich nen iterator von einer std::list, std::map, std::set speichere, dann zeigt der immer auf das Objekt (auch wenn sich andere Elemente des Containers ändern, hinzukommen etc.)

    Wenn ich nen iterator von einem std::vector, std::queue speichere, zeigt der immer an die entsprechende Position des Containers (wie ein Zeiger). Dass std::vector seit speicherung des iterators evtl intern reallocationen vorgenommen hat, weil die Capacity nicht gereicht hat, macht aber nix.

    Oder?



  • bei map, list etc. klappt das glaube ich. Probleme kriegst Du immer bei Containern die ihre Daten kontinuierlich ablegen, so wie beim vector eben. Da können die Iteratoren ungültig werden, wenn Du bestimmte Operationen wie zum Beispiel Einfügungen vornimmst.

    MfG Jester


Anmelden zum Antworten