C++でのstd mapの使い方は何ですか?
C++のstd::mapは、キーと値のペアを整列された集合で格納するための連想コンテナです。これは赤黒木に基づいており、効率的な検索、挿入、削除操作を提供しています。
std::mapを使用する際は、ヘッダーファイルを含める必要があります。mapオブジェクトを作成する構文は以下の通りです:
std::map<Key, Value> mapName;
Keyはキーの種類を指し、Valueは値の種類を表しており、mapNameはマップオブジェクトの名前です。
mapにキーと値を挿入するには、insert()関数を使用できます。
mapName.insert(std::pair<Key, Value>(key, value));
下記の方法でも、キーと値のペアを挿入することができます:角かっこ演算子[]を使用する。
mapName[key] = value;
指定されたキーの値を検索するには、find()関数を使用できます。
std::map<Key, Value>::iterator it = mapName.find(key);
if (it != mapName.end()) {
// 键存在,可以通过it->second访问对应的值
} else {
// 键不存在
}
指定されたキーのキー値ペアをerase()関数を使用して削除することができます。
mapName.erase(key);
clear()関数を使用して、マップ内のすべてのキーと値を消去することができます。
mapName.clear();
マップ全体をイテレータで反復処理できます。
for (std::map<Key, Value>::iterator it = mapName.begin(); it != mapName.end(); ++it) {
// 可以通过it->first访问键,通过it->second访问值
}
std::mapには、キーが一意であることに注意する必要があります。重複するキーを挿入すると、元の値が上書きされます。重複するキーを許容する場合は、std::multimapを使用することができます。