在C++中,std::map
是一种关联容器,用于存储键值对。当查找一个不存在的键时,std::map
会返回一个特殊的迭代器,表示找不到该键。
以下是一个简单的示例,展示了如何在std::map
中查找不存在的键:
#include<iostream>
#include <map>
int main() {
std::map<int, std::string> my_map;
my_map[1] = "one";
my_map[2] = "two";
my_map[3] = "three";
int key_to_find = 4;
auto it = my_map.find(key_to_find);
if (it == my_map.end()) {
std::cout << "Key "<< key_to_find << " not found in the map."<< std::endl;
} else {
std::cout << "Key "<< key_to_find << " found in the map with value: " << it->second<< std::endl;
}
return 0;
}
在这个示例中,我们创建了一个std::map
,并向其中插入了一些键值对。然后,我们尝试查找一个不存在的键(在本例中为4)。std::map::find
方法返回一个迭代器,指向找到的键值对,或者返回std::map::end()
,表示找不到该键。我们可以使用这个迭代器来访问找到的键值对,或者判断该键是否存在于std::map
中。
在这个示例中,我们使用std::map::end()
方法来检查迭代器是否指向了std::map
的末尾。如果迭代器等于std::map::end()
,则表示找不到该键,我们可以输出相应的提示信息。
领取专属 10元无门槛券
手把手带您无忧上云