find()还返回了C ++中映射的最后一个元素吗? [英] Does find() also return the last element of a map in C++?

查看:176
本文介绍了find()还返回了C ++中映射的最后一个元素吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用find()方法来捕获我的std :: map()的特定元素

I'd like to use the find() method, to catch a particular element of my std::map()

现在返回值是元素我正在寻找,或者它指向地图的结束如果没有找到的元素(Cf: http://www.cplusplus.com/reference/map/map/find/ )。

Now the return value is either the element I was looking for, or it it points to the end of the map if the element hasn't been found (C.f.: http://www.cplusplus.com/reference/map/map/find/ ).

使用这两个信息是否决定元素是否在地图中。但是如果元素已经在内部但是在结束时会发生什么?我的if查询然后会决定它不存在,因此我的程序将被组成。

So I'm using these two information whether to decide if an element is in the map or not. But what happens if the element is already inside but at the very end ? My if-query would then decide that it's not existing and therefor my program will be made up.

我正在获得这个例程,如果,如何防止它?

Am I getting this routine right, and if, how to prevent it ?

感谢您的支持

推荐答案

任何容器中的最后一个元素不同于容器 end 迭代器。 end 迭代器实际上是超出容器中最后一个元素的一步。

The last element in any container is not the same as the containers end iterator. The end iterator is actually one step beyond the last element in the container.

这意味着你可以轻松休息,并使用找到,不用担心。如果您寻找的元素是最后一个元素,您将获得您搜索的内容。

That means you can rest easily, and use find without worries. If the element you look for is the last element, you will get what you search for.

这篇关于find()还返回了C ++中映射的最后一个元素吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆