Ich finde den Update-Vorgang std::setmühsam, da es bei cppreference keine solche API gibt . Was ich derzeit mache, ist ungefähr so:
//find element in set by iterator
Element copy = *iterator;
... // update member value on copy, varies
Set.erase(iterator);
Set.insert(copy);
Grundsätzlich ist der Iterator return by Seta const_iteratorund Sie können seinen Wert nicht direkt ändern.
Gibt es einen besseren Weg, dies zu tun? Oder vielleicht sollte ich es überschreiben, std::setindem ich mein eigenes erstelle (was ich nicht genau weiß, wie es funktioniert ..)