地図
ヘッダ・ファイル・マップおよびマルチマップSTLで定義された地図テンプレートクラス、タイプ格納順序バイナリツリーテーブルpair<const Key, T>
シーケンス要素を。主な要素constのシーケンスは、の一部として識別されている全ての要素で地図のキー値は一意である必要があり、マルチマップのキー値の重複が許可されています。それがキー値に応じてコンテナ要素を見つける必要が適しているので、マップは、アイデンティティの重要な要素は、このような容器はまたすぐにキーによって要素の値を決定することができ、「連想コンテナ」として知られている要素の集合と見なすことができます。
マップオブジェクトのコードサンプルを定義します。
マップ< 文字列、int型 >メートル。
関連するコンテナの操作、ライブラリのタイプのペアを初めて目を導入する前に。ペアタイプ記載されてユーティリティようなSTL値マップとして定義され、このような要求をペアにすることができ使用することが望まれる場合、ペアは、データのセットに二つのデータの組み合わせであるが、鍵格納それらを置くことです。別のアプリケーションは、関数は、2つのデータを返すために必要があるとき、彼らはペアを選択することができ、あります。あなたが直接メンバ変数のペアを使用することができますので、それは、構造体のクラスを使用していない第2のため、メインの2つのメンバ変数は、最初のペアは、構造を達成することであるあります。
ペアは、いくつかのいくつかの定義と初期化方法に従って通常存在し、データ値の二つのタイプを含みます。
対<Tlの、T2> P; //はオブジェクトpの空対を定義、T1及びT2は、初期値のメンバーであった 一対<Tlの、T2> P(V1、V2); // P型のメンバーであります一対のT1及びT2、第1および第2の部材は、V1およびV2によって初期化されます。 make_pair(V1、V2); // 新しいペアが値v1とv2を作成するオブジェクト
マップの基本的な操作
/ * マップ要素に挿入される * / M [キー] =値; // キーが返される要素の値のマップに存在する場合[キー]は操作マップは非常にユニークな操作、重要な要素でありますドメイン部分は、
//それ以外の場合は、右の重要な要素のキー値を作成します、範囲がデフォルトです。この操作は、いくつかの要素の範囲が挿入またはマップ上の既存の要素を変更することができます。 m.insert(make_pair(キー、値)); //は、インサートを挿入する方法の要素を呼び出すことができ、挿入操作は、マップがキーのキーと一致しない場合、ペアを返す
//点最初に反復子が第二真である要素を挿入する;キーが既にマップ等価鍵に存在する場合、
//第falseに、第1の素子対であるイテレータ。
//つまり、挿入はコードで失敗することがあり、挿入に成功するかどうかを確認することができます挿入し
、<地図<キー、値> ::イテレータ、BOOL> Insert_Pairペア
Insert_Pair = m.insert(make_pair(キー、値));
IF(! Insert_Pair.second)
coutの<< ""エラーINSERT新新要素「<<
/ * の要素を探す * / INT I = M [キー]; // キー要素ペアが一致したときに作成されたキーのキーのために存在しないことに留意すべき
別の要素が成形される//(ペアの場合、元素M [キー] = 0)。 マップ<キー、値> :: = m.find ITイテレータ(キー); // キーマップ内のキーとの一致がある場合、操作リターンを素子対の反復子を見つけ、
//そうでない場合は、リターンしますこれは、マップイテレータ端()と同じである(上述のベクターは、(開始参照)と終了()オペレーション)。 / * 削除要素 * / m.erase(キー); // 指定されたキーに削除キー要素と一致し、削除する要素の数を返します。 m.erase(IT); // 次の要素に指定された要素および戻りを指し示すようにイテレータをイテレータそれを削除。 / * エルス * / m.size(); // 要素の戻り数 m.empty(); //は 空気か否かを判断する (m.clear); // クリアすべての要素
参考リンク:
https://blog.csdn.net/forever__1234/article/details/89647975
https://blog.csdn.net/u010029439/article/details/89681773
https://xuanxuanblingbling.github.io/life/study/2019/03/20/STL/