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 .first
dö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 );
}