Syntax:
#include <map> map(); map( const map& m ); map( input_iterator start, input_iterator end ); map( input_iterator start, input_iterator end, const key_compare& cmp ); explicit map( const key_compare& cmp ); ~map();
デフォルトのコンストラクタは、引数をとりませんが、マップの新しいインスタンスを作成し、一定の時間で実行されます。 既定のコピーコンストラクタの処理時間は、線形時間となりますが、指定されたマップのコピーし、新しいマップを作成するために使用することができます。
マップを作成するときに、入力値の開始のイテレータと終了のイテレータを渡すことができます、または比較関数のcmpを渡すことができます。
デフォルトのデストラクタは、マップが破棄されるべきときに呼ばれます。
たとえば、次のコードは、文字列を整数に関連づけるマップを作成しています。
struct strCmp { bool operator()( const char* s1, const char* s2 ) const { return strcmp( s1, s2 ) < 0; } }; ... const char *father = "Homer"; const char *mother = "Marge"; const char *kid1 = "Lisa"; const char *kid2 = "Maggie"; const char *kid3 = "Bart"; map<const char*, int, strCmp> ages; ages[father] = 38; ages[mother] = 37; ages[kid1] = 8; ages[kid2] = 1; ages[kid3] = 11; cout << "Bart is " << ages[kid3] << " years old" << endl;
Related Topics: map_Operators