必要なのは、何かが存在するかどうかと、それが何回存在するかを知ることだけです。既存のものを繰り返し処理し、どれだけ存在するかを照会します。
これまでの実装では を使用しており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;
}
明確化
s のベクトルがありthing
ます。しかし、彼らは時々値を繰り返します。私は unique を反復処理し thing
、それぞれの unique に対して何かをしたいと考えています。thing
この「何か」は、これがベクトルに表示される時間を知る必要があります。
上記のコードは、私が現在問題を解決している方法です。これは、私が望むことを行うための最もエレガントな方法ではないようです。
私は Stackoverflow のガイドラインに従っているだけです。私の問題は何かを伝え、(試した) 解決策を伝えます。
疑問符の付いた文が本当に必要な場合は、そこに行きます: a で一意の要素を反復処理する方法はありますmultiset
か?