【发布时间】:2014-09-09 11:38:33
【问题描述】:
我想使用 find() 方法来捕获我的 std::map() 的特定元素
现在返回值要么是我正在寻找的元素,要么如果尚未找到该元素,则它指向地图的末尾(参见:http://www.cplusplus.com/reference/map/map/find/)。
所以我使用这两个信息来决定一个元素是否在地图中。但是如果元素已经在里面但在最后会发生什么?然后我的 if-query 将确定它不存在,因此我的程序将被弥补。
我做对了这个例程吗?如果,如何防止它?
感谢您的支持
【问题讨论】:
-
如果您将“在最后”理解为“在
end()”,那么就没有“在最后”的元素。最后一个元素就在end()之前,因为end()被定义 为在 最后一个元素之后。根据定义,end()处没有元素。