首页 > 解决方案 > 如果想要的键在最后一个位置,则映射 find() 函数

问题描述

我是 C++ 初学者。我知道那find()是用来搜索某个键的。如果找到元素,则此函数返回一个指向该元素的迭代器,否则返回一个指向最后一个位置的迭代器。地图即map.end()。我从网站上读到

if(it == mp.end())
    cout << "Key-value pair not present in map" ;
else
    cout << "Key-value pair present : "

如果找到的密钥在最后位置怎么办?它怎么还能工作?键按一定顺序排序,我认为迭代器会遍历排序后的键以找到我们想要的键。(这是对的吗?)

标签: c++dictionary

解决方案


cplusplus.com 称.end() Returns an iterator pointing to the past-the-end element in the sequence:

它不指向容器中的元素(在您的情况下为地图),而是指向容器外部。


推荐阅读