Gast
#5738898
Hallo, ich hab zum erstem Mal ein Usecase für ein std::unordered_set, dies ist ähnlich der unordered_map aber eben nur mit dem Key und ohne assoziierenden Wert. Es fällt auf, dass das unordered_set kein mapping vom key zum Value unterstützt wie es die map kann. Es gibt kein Operator. Dies bedeutet der Zugriff muss bei set über find() stattfinden, was wiederum dazu führt, dass man zum löschen eines Elementes set.erase(set.find(111)); schreiben muss anstatt wie bei der map ohne find(). Ebenso beim Erstellen benötigt man set.insert(111); bei der Map kann man einfach schreiben map[111]. Meine Frage ist nun, wirkt sich diese Indirektion auch auf die Performance aus? Kann man durch das fehlende Mapping davon ausgehen, dass das Erstellen und Löschen von Einträgen bei unordered_set langsamer ist als bei der unordered_map? Oder tut intern das Mapping bei map durch den Operator genau das selbe wie find() oder insert() beim set? Grüße