扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

C++鐨剈nordered_map鎬庝箞浣跨敤

扬州沐宇科技
2023-12-21 23:00:52
c++

unordered_map 鏄?C++ 涓殑涓€涓叧鑱斿鍣紝瀹冩彁渚涗簡鍩轰簬閿€煎鐨勫揩閫熸煡鎵惧姛鑳姐€備笅闈㈡槸浣跨敤 unordered_map 鐨勪竴浜涘熀鏈搷浣滐細

  1. 鍖呭惈澶存枃浠讹細闇€瑕佸寘鍚?<unordered_map> 澶存枃浠躲€?/p>

  2. 鍒涘缓 unordered_map 瀵硅薄锛氬彲浠ヤ娇鐢ㄤ笅闈㈢殑璇硶鍒涘缓涓€涓?unordered_map 瀵硅薄锛?/p>

std::unordered_map<KeyType, ValueType> myMap;

鍏朵腑锛孠eyType 鏄敭鐨勭被鍨嬶紝ValueType 鏄€肩殑绫诲瀷銆?/p>

  1. 鎻掑叆閿€煎锛氬彲浠ヤ娇鐢?insert 鍑芥暟鎻掑叆涓€涓敭鍊煎鍒?unordered_map 涓細
myMap.insert(std::make_pair(key, value));

鎴栬€呬娇鐢ㄤ笅鏍囨搷浣滅 []锛?/p>

myMap[key] = value;
  1. 鍒犻櫎閿€煎锛氬彲浠ヤ娇鐢?erase 鍑芥暟鍒犻櫎鎸囧畾閿殑閿€煎锛?/li>
myMap.erase(key);
  1. 璁块棶閿€煎锛氬彲浠ヤ娇鐢ㄤ笅鏍囨搷浣滅 [] 鏉ヨ闂?unordered_map 涓殑閿€煎锛?/li>
value = myMap[key];

涔熷彲浠ヤ娇鐢?find 鍑芥暟鏉ユ煡鎵炬寚瀹氶敭鐨勫€硷細

auto it = myMap.find(key);
if (it != myMap.end()) {
    value = it->second;
}
  1. 閬嶅巻 unordered_map锛氬彲浠ヤ娇鐢ㄨ凯浠e櫒鏉ラ亶鍘?unordered_map 涓殑鎵€鏈夐敭鍊煎锛?/li>
for (auto it = myMap.begin(); it != myMap.end(); ++it) {
    key = it->first;
    value = it->second;
}
  1. 鍒ゆ柇閿槸鍚﹀瓨鍦細鍙互浣跨敤 find 鍑芥暟鏉ュ垽鏂寚瀹氶敭鏄惁瀛樺湪浜?unordered_map 涓細
auto it = myMap.find(key);
if (it != myMap.end()) {
    // 閿瓨鍦?/span>
}

杩欎簺鏄?unordered_map 鐨勪竴浜涘熀鏈娇鐢ㄦ柟娉曪紝浣犲彲浠ユ牴鎹疄闄呴渶姹備娇鐢ㄥ畠浠潵鎿嶄綔 unordered_map 涓殑閿€煎銆?/p>

扫码添加客服微信