当使用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"。