當使用map.find()
方法查找元素時,如果元素不存在,則map.find()
方法會返回指向map
結尾的迭代器。因此,可以通過檢查返回的迭代器是否等于map.end()
來判斷是否找到了元素。
示例代碼如下:
#include <iostream>
#include <map>
int main() {
std::map<int, std::string> myMap;
myMap[1] = "apple";
myMap[2] = "banana";
myMap[3] = "orange";
std::map<int, std::string>::iterator it = myMap.find(4);
if (it != myMap.end()) {
std::cout << "Element found: " << it->second << std::endl;
} else {
std::cout << "Element not found" << std::endl;
}
return 0;
}
在上面的示例中,map.find(4)
會返回myMap
中鍵為4的元素的迭代器,由于myMap
中并沒有鍵為4的元素,因此it
會等于myMap.end()
,從而輸出"Element not found"。