c++ map閬嶅巻鍒犻櫎鍏冪礌鎬庝箞瀹炵幇
鍦–++涓紝鍙互浣跨敤杩唬鍣ㄦ潵閬嶅巻鍜屽垹闄ap涓殑鍏冪礌銆備互涓嬫槸涓€绉嶅父瑙佺殑瀹炵幇鏂瑰紡锛?/p>
#include <iostream>
#include <map>
int main() {
std::map<int, std::string> myMap;
myMap[1] = "Apple";
myMap[2] = "Banana";
myMap[3] = "Orange";
myMap[4] = "Grape";
// 閬嶅巻骞跺垹闄ょ鍚堟潯浠剁殑鍏冪礌
for(auto it = myMap.begin(); it != myMap.end(); ) {
if(it->second == "Banana") {
it = myMap.erase(it); // 鍒犻櫎鍏冪礌骞舵洿鏂拌凯浠e櫒
}
else {
++it;
}
}
// 杈撳嚭鍓╀綑鍏冪礌
for(const auto& pair : myMap) {
std::cout << pair.first << ": " << pair.second << std::endl;
}
return 0;
}
杩欐浠g爜鍒涘缓浜嗕竴涓猰ap锛岀劧鍚庝娇鐢ㄨ凯浠e櫒閬嶅巻瀹冦€傚湪閬嶅巻杩囩▼涓鏌ユ瘡涓厓绱犵殑鍊兼槸鍚︿负"Banana"锛屽鏋滄槸锛屽垯浣跨敤erase()鍑芥暟鍒犻櫎璇ュ厓绱狅紝骞跺皢杩唬鍣ㄦ洿鏂颁负鎸囧悜涓嬩竴涓厓绱狅紱濡傛灉涓嶆槸锛屽垯灏嗚凯浠e櫒閫掑鍒颁笅涓€涓厓绱犮€傝繖鏍峰彲浠ラ亶鍘嗗苟鍒犻櫎map涓墍鏈夊€间负"Banana"鐨勫厓绱犮€?/p>
娉ㄦ剰锛屽湪浣跨敤erase()鍑芥暟鍒犻櫎鍏冪礌鍚庯紝杩唬鍣ㄤ細澶辨晥锛屽洜姝ゅ繀椤诲皢鍏舵洿鏂颁负鎸囧悜涓嬩竴涓厓绱狅紝鍚﹀垯浼氬紩鍙戞湭瀹氫箟琛屼负銆?/p>
相关问答