В std :: multiset есть функция или алгоритм для удаления только одного образца (единого или повторяющегося), если элемент найден

Возможно, это дубликат, но я не нашел ничего, ищущего: Когда erase (value) вызывается для std :: multiset , все элементы с найденным значением удаляются. Единственное решение, которое я мог придумать, это:

std::multiset<int>::iterator hit(mySet.find(5));
if (hit!= mySet.end()) mySet.erase(hit);

Это нормально, но я подумал, что может быть лучше. Есть идеи?

61
задан Martin 19 August 2012 в 09:54
поделиться