关于vector中find()的问题~~~请大侠指教

snake_long 2010-12-12 07:20:24
如果我要查找的是容器中最后一个位置的元素,那么返回的是指向最后一个位置的指针(容器名.end)的值,但是如果查找不到也返回的是这个值,请问是不是我理解错误???谢谢!!!
...全文
222 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
nwpucoder 2010-12-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dubiousway 的回复:]
end 返回的 不是最后一个位置的元素的指针。是最后一个元素指针+1
[/Quote]
正解
ww884203 2010-12-12
  • 打赏
  • 举报
回复
end()返回的并不是最后一个
失落的凡凡 2010-12-12
  • 打赏
  • 举报
回复
end()迭代器是一个哨兵值,是不应该,也不能引用的。
my1111ym 2010-12-12
  • 打赏
  • 举报
回复
end返回的不是最后一个元素的位置,而是最后一个+1
chlaws 2010-12-12
  • 打赏
  • 举报
回复
end存什么:就比如字符串'ABC\0'那么就是指向‘\0’之后的东西,你不会知道是什么的
yiruirui0507 2010-12-12
  • 打赏
  • 举报
回复
end 返回的 不是最后一个位置的元素的指针。是最后一个元素指针+1
snake_long 2010-12-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 milkylove 的回复:]
引用 4 楼 snake_long 的回复:

引用 2 楼 dubiousway 的回复:
end 返回的 不是最后一个位置的元素的指针。是最后一个元素指针+1

哦 谢谢啊!!! 就是vector中begin返回的是第一个元素的指针,而end返回的是最后一个元素的指针+1是吗?


stl体系中, 所有用到一对迭代器的,都是左闭右开,[ begin(), end() )
[/Quote]
那end()上面存的是什么啊?
失落的凡凡 2010-12-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 snake_long 的回复:]

引用 2 楼 dubiousway 的回复:
end 返回的 不是最后一个位置的元素的指针。是最后一个元素指针+1

哦 谢谢啊!!! 就是vector中begin返回的是第一个元素的指针,而end返回的是最后一个元素的指针+1是吗?
[/Quote]

stl体系中, 所有用到一对迭代器的,都是左闭右开,[ begin(), end() )
失落的凡凡 2010-12-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dubiousway 的回复:]

end 返回的 不是最后一个位置的元素的指针。是最后一个元素指针+1
[/Quote]

没错,是这样的。
snake_long 2010-12-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dubiousway 的回复:]
end 返回的 不是最后一个位置的元素的指针。是最后一个元素指针+1
[/Quote]
哦 谢谢啊!!! 就是vector中begin返回的是第一个元素的指针,而end返回的是最后一个元素的指针+1是吗?
iihero 2010-12-12
  • 打赏
  • 举报
回复
查找最后一个位置的元素,返回的应该不是.end(),而是它前一个位置,或者说是size()-1的那个位置。
dubiousway 2010-12-12
  • 打赏
  • 举报
回复
end 返回的 不是最后一个位置的元素的指针。是最后一个元素指针+1
jackyjkchen 2010-12-12
  • 打赏
  • 举报
回复
我倒是没注意过(几乎不用vector),直接看下返回值,如果是的,那就没错吧……

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧