温馨提示×

C++ map.find如何处理未找到的情况

c++
小樊
178
2024-06-13 16:16:34
栏目: 编程语言

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

0