erase

提供:cppreference.com
移動: 案内, 検索

Syntax:

    #include <map>
    void erase( iterator pos );
    void erase( iterator start, iterator end );
    size_type erase( const key_type& key );

erase()関数は、指定位置の要素を削除する、開始位置から終了位置まで(末尾を含む)の要素を削除する、指定キーの値の要素をすべて削除するという動作をします。

最初の例では、最初のイテレータを無効にしています。

たとえば、次のコードでは、whileループの中で、見つかった順に表示、削除するためにerase()関数を使用しています。

    struct strCmp {
      bool operator()( const char* s1, const char* s2 ) const {
        return strcmp( s1, s2 ) < 0;
      }
    };
 
    ...
 
    map<const char*, int, strCmp> ages;
    ages["Homer"] = 38;
    ages["Marge"] = 37;
    ages["Lisa"] = 8;
    ages["Maggie"] = 1;
    ages["Bart"] = 10;
 
    while( !ages.empty() ) {
      cout << "Erasing: " << ages.begin()->first << ", " << ages.begin()->second << endl;
      ages.erase( ages.begin() );
    }

実行すると次の表示結果が得られます。

    Erasing: Bart, 10
    Erasing: Homer, 38
    Erasing: Lisa, 8
    Erasing: Maggie, 1
    Erasing: Marge, 37


Related Topics: begin, clear, empty, size

個人用ツール
名前空間
変種
操作
案内
ツールボックス
他の言語