Aşağıdakileri denerim.
İlk equal_range()olarak anahtara eşit eleman aralığını bulmak için arama yapın.
Döndürülen aralık boş değilse, erase()bir dizi öğe (yani erase()iki yineleyici alan):
ilk bağımsız değişken, döndürülen aralıktaki 2. öğenin yineleyicisidir (yani, geçmişte bir .firstdöndürülür) ve
döndürülen aralık çifti yineleyicisi olarak ikinci bağımsız değişken .second.
Templatetypedef'in (Teşekkürler!) Yorumunu okuduktan sonra düzenleyin :
Bir (hepsinin tersine) yinelemenin kaldırılması gerekiyorsa: Döndürülen çift equal_range()en az iki öğeye sahipse erase(), ilk öğe döndürülen çiftin ilkini aşağıdakilerin tek yineleyici sürümüne geçirerek erase():
Sözde kod:
pair<iterator, iterator> pit = mymultiset.equal_range( key );
if( distance( pit.first, pit.second ) >= 2 ) {
mymultiset.erase( pit.first );
}