C++STLプログラムのmap::operator []
この記事では、C ++ STLでのmapequal‘[]’演算子の動作、構文、および例について説明します。
マップは連想コンテナであり、キー値とマップされた値の組み合わせによって形成された要素を特定の順序で格納するのを容易にします。マップコンテナでは、データは常に関連するキーを使用して内部的に並べ替えられます。マップコンテナの値には、一意のキーからアクセスします。
「[]」演算子に等しいマップとは何ですか?
map ::operator[]は参照演算子です。この演算子は、キーによってコンテナ内の要素にアクセスするために使用されます。
コンテナに一致するキーがない場合、オペレータはそのキーを使用して新しい要素を挿入し、マップされた値の参照を返します。この演算子はmap::at()と同じように機能しますが、唯一の違いは、キーがマップコンテナに存在しない場合にat()が例外をスローすることです。
構文
Map_name[key& k];
パラメータ
パラメータは1つだけです。つまり、コンテナで参照するキーkです。
戻り値
この演算子は、キーkに関連付けられた値を返します。
入力 −
map<char, int> newmap;
newmap.insert({1, 20});
newmap.insert({2, 30});
newmap[1]; 出力
20
例
#include <bits/stdc++.h>
using namespace std;
int main(){
map<int, int> TP_1;
map<int, int> TP_2;
TP_1[1] = 10;
TP_1[2] = 20;
TP_1[3] = 30;
TP_1[4] = 40;
cout<<"Element at TP[3] is : "<<TP_1[3];
return 0;
} 出力
上記のコードを実行すると、次の出力が生成されます-
Element at TP[3] is : 30
例
#include <bits/stdc++.h>
using namespace std;
int main(){
map<int, int> TP_1;
map<int, int> TP_2;
TP_1[1] = 10;
TP_1[2] = 20;
TP_1[3] = 30;
TP_1[4] = 40;
cout<<"Element at TP[3] is : "<<TP_1[3];
if(TP_1[5]==0){
cout<<"\nElement at TP[5] doesn't exist";
}
else{
cout<<"Element at TP[5] is : "<<TP_1[5];
}
return 0;
} 出力
上記のコードを実行すると、次の出力が生成されます-
Element at TP[3] is : 30 Element at TP[5] doesn't exist
-
C++STLでのセットとマップ
Setは抽象データ型であり、要素の値によって要素が識別されるため、各要素は一意である必要があります。要素の値は、セットに追加されると変更できませんが、その要素の変更された値を削除して追加することはできます。 マップは、マップされた方法で要素を格納する連想コンテナです。各要素には、キー値とマップされた値があります。 2つのマップされた値が同じキー値を持つことはできません。 したがって、上記から明らかなように、setには唯一のキーが含まれ、mapにはキーを持つ値が含まれ、どちらも一意でソートされた値を持つ必要があります。 順序付けされていない要素と並べ替えられていない要素には、unorder
-
STLにマップを実装するC++プログラム
マップは、マップされた方法で要素を格納する連想コンテナです。各要素には、キー値とマップされた値があります。 2つのマップされた値が同じキー値を持つことはできません。 ここで使用される関数: m ::find()–見つかった場合は、マップ内のキー値「b」を持つ要素にイテレータを返します。それ以外の場合は、終了するイテレータを返します。 m ::Erase()–マップからキー値を削除します。 m ::equal_range()–ペアのイテレータを返します。ペアは、キーと同等のキーを持つコンテナ内のすべての要素を含む範囲の境界を指します。 m insert()–マップコンテ