Durchlaufen eindeutiger Elemente von "std :: multiset"

Ich muss nur wissen, ob etwas existiert und wie oft es existiert. Ich werde über die existierenden Dinge iterieren und abfragen, wie viel davon existiert.

Meine bisherige Implementierung verwendetmultisetMache ich wie folgt:

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;
}
Klarstellungen

Ich habe einen Vektor vonthings. Aber sie wiederholen den Wert manchmal, ich möchte über Unique iterierenthings und für jedes Unikat etwas tun. Dieses "Etwas" muss wissen, wie lange dies dauertthing erscheint auf dem Vektor.

Der Code, den ich oben gepostet habe, ist die Art und Weise, wie ich mein Problem gerade löse. Es scheint nicht die eleganteste Art zu sein, das zu tun, was ich will.

Ich folge nur den Stackoverflow-Richtlinien: Ich erkläre, was mein Problem ist, und ich erkläre meine (erprobte) Lösung.

Wenn ein Satz mit einem Fragezeichen wirklich benötigt wird, können Sie Folgendes tun: Gibt es eine Möglichkeit, eindeutige Elemente über a zu iterieren?multiset?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage