Aracılığıyla paylaş


map::erase

Belirtilen konumlardan Haritası'nda bir öğe veya öğeleri aralığı kaldırır veya belirtilen anahtar eşleşen öğeleri kaldırır.

iterator erase(
   iterator _Where
);
iterator erase(
   iterator _First,
   iterator _Last
);
size_type erase(
   const key_type& _Key
);

Parametreler

  • _Where
    Haritadaki kaldırılacak öğesinin konumu.

  • _First
    İlk öğenin konumunu haritadaki kaldırıldı.

  • _Last
    Haritadaki konumu yalnızca son öğenin ötesindeki kaldırıldı.

  • _Key
    Haritadaki kaldırılacak öğeler anahtar değeri.

Dönüş Değeri

İlk iki üye işlevleri için çift yönlü Yineleyici, kaldırılan herhangi bir öğe ya da sonuna kadar haritanın bir işaretçi ötesinde, bu tür bir öğe varsa, kalan ilk öğe belirler.

[!NOT]

Bu dönüş türü C++ standardına uygun değil.

Üye işlevi için üçüncü haritadaki kaldırılan öğelerin sayısını verir.

Notlar

Bazı durumlarda, bu yöntem oluabilir bir out_of_range özel durum.

Örnek

Bu örnek ile derlerken /Wp64 bayrak ya da 64-bit platformunda, derleyici C4267 uyarı oluşturulur.Bu uyarı hakkında daha fazla bilgi için bkz: Derleyici uyarı (Düzey 3) C4267.

// map_erase.cpp
// compile with: /EHsc
#include <map>
#include <iostream>

int main()
{
    using namespace std;
    map<int, int> m1, m2, m3;
    map<int, int>::iterator pIter, Iter1, Iter2;
    int i;
    map<int, int>::size_type n;
    typedef pair<int, int> Int_Pair;

    for (i = 1; i < 5; i++)
    {
        m1.insert(Int_Pair(i, i));
        m2.insert(Int_Pair(i, i*i));
        m3.insert(Int_Pair(i, i-1));
    }

    // The 1st member function removes an element at a given position
    Iter1 = ++m1.begin();
    m1.erase(Iter1);

    cout << "After the 2nd element is deleted, the map m1 is:";
    for (pIter = m1.begin(); pIter != m1.end(); pIter++)
        cout << " " << pIter->second;
    cout << "." << endl;

    // The 2nd member function removes elements
    // in the range [_First, _Last)
    Iter1 = ++m2.begin();
    Iter2 = --m2.end();
    m2.erase(Iter1, Iter2);

    cout << "After the middle two elements are deleted,"
         << " the map m2 is:";
    for (pIter = m2.begin(); pIter != m2.end(); pIter++)
        cout << " " << pIter->second;
    cout << "." << endl;

    // The 3rd member function removes elements with a given _Key
    n = m3.erase(2);

    cout << "After the element with a key of 2 is deleted,\n"
         << "the map m3 is:";
    for (pIter = m3.begin(); pIter != m3.end(); pIter++)
        cout << " " << pIter->second;
    cout << "." << endl;

    // The 3rd member function returns the number of elements removed
    cout << "The number of elements removed from m3 is: "
         << n << "." << endl;

    // The dereferenced iterator can also be used to specify a key
    Iter1 = ++m3.begin();
    m3.erase(Iter1);

    cout << "After another element with a key equal to that"
         << endl;
    cout  << "of the 2nd element is deleted, "
          << "the map m3 is:";
    for (pIter = m3.begin(); pIter != m3.end(); pIter++)
        cout << " " << pIter->second;
    cout << "." << endl;
}
  
  
  
  
  

Gereksinimler

Başlık: <map>

Namespace: std

Ayrıca bkz.

Başvuru

map Class

map::max_size, map::clear, map::erase, ve map::size

Standart Şablon Kütüphanesi