Objekte in set/unordered_set, welche sich (und damit die Relationen) verändern...
-
Hi,
habe eine Frage bezüglich den Nebeneffekten von sich ändernden Objekten in sets/unordered_sets. Angenommen man hat eine Klasse
fooin einem Set, etwastd::set<foo>. Der (logische) Wert von einemfookann von aussen geändert werden, wodurch aber eventuell Relationen à laa < b(füraundbvom Typfoo) plötzlich den drehen können.Konkret geht es um Smart Pointer auf Objekte in einem Memory Pool, welcher die Objekte selbst jederzeit umkopieren darf (weshalb sich die Pointerwerte ändern können).
Gehe ich richtig in der Annahme, dass ich die Objekte dann nicht in Sets speichern darf? Muss ich einen
std::vectornehmen? Ich brauche keine Ordnung der Elemente und sie sollten alle unique sein. Und ich habe mich schon gefreut wegenstd::unordered_setetc.
MfG
-
Du könntest Sie entnehmen, ändern und wieder eintüten ...
siehe auch Are Set Iterators Mutable or Immutable?Gruß
Werner
-
Gehe ich richtig in der Annahme, dass ich die Objekte dann nicht in Sets speichern darf?
Ja.