Я считаю, что операция обновления на std::set
утомительна, так как на cppreference такого API нет. Так что я сейчас делаю что-то вроде этого:
//find element in set by iterator
Element copy = *iterator;
... // update member value on copy, varies
Set.erase(iterator);
Set.insert(copy);
По сути, возвращаемое Set
значение итератора является const_iterator
и вы не можете напрямую изменить его значение.
Есть лучший способ сделать это? Или, может быть, я должен переопределить std::set
, создав свой собственный (который я не знаю точно, как это работает..)