Перебор уникальных элементов `std :: multiset`

Все, что мне нужно, это знать, существует ли что-то и сколько раз оно существует. Я буду перебирать существующие вещи и спрашивать, сколько из этого существует.

Моя реализация пока используетmultisetДелаю как следует:

std::multiset<thing> a;
auto previous = a.end();
for( auto each = a.begin(); each != a.end(); ++each ) {
    if( previous == a.end() || *previous != *each ) {
        a.count(*each);
    }
    previous = each;
}
Разъяснения

У меня есть векторthings. Но они иногда повторяют значение, я хочу перебрать уникальныйthingы и для каждого уникального сделать что-то. Это «что-то» должно знать, сколько времени этоthing появляется на векторе.

Код, который я разместил выше, - это то, как я решаю свою проблему прямо сейчас, это не самый элегантный способ сделать то, что я хочу.

Я просто следую рекомендациям Stackoverflow: я сообщаю, в чем заключается моя проблема, и говорю свое (опробованное) решение.

Если предложение с вопросительным знаком действительно необходимо, то вы идете: есть ли способ перебрать уникальные элементы надmultiset?

Ответы на вопрос(1)

Ваш ответ на вопрос