读书人

新人学C++对于find()函数一个疑问解决

发布时间: 2012-03-13 11:21:12 作者: rapoo

新人学C++对于find()函数一个疑问
我买的是陈良乔那本“我的第一本C++书”学习的,

看到本里对find()函数大概是这样讲的:

“如果find()算法在到容器中找到了相同的数据,那么返回指这个数据元素的迭代器,如果没有找到,那么返回的迭代器就指向这个容器的末尾位置”

我想问题的是:如果我要搜索的元素正好位于容器的末尾位置,那应该如何处理?

[解决办法]

end()是最后一个元素的下一位

多虑了



探讨
我买的是陈良乔那本“我的第一本C++书”学习的,

看到本里对find()函数大概是这样讲的:

“如果find()算法在到容器中找到了相同的数据,那么返回指这个数据元素的迭代器,如果没有找到,那么返回的迭代器就指向这个容器的末尾位置”

我想问题的是:如果我要搜索的元素正好位于容器的末尾位置,那应该如何处理?

[解决办法]
可以把这样的书扔了。find如果没找到的话,返回end()。

if (v.end() == find(v.begin(), v.end(), ...))

读书人网 >C++

热点推荐