2 u013952293 u013952293 于 2014.11.18 21:15 提问

返回指向vector某一元素的迭代器?

有什么方法可以返回指向vector某一元素的迭代器?
(除了begin和end函数)

5个回答

caozhy
caozhy   Ds   Rxr 2014.11.18 21:28
已采纳

既然是迭代器,就只能顺序访问。你可以调用n次movenext跳过n个元素。

u013952293
u013952293 谢谢了
大约 3 年之前 回复
ForestDB
ForestDB   Rxr 2014.11.18 22:42

template< class InputIt, class T >
InputIt find( InputIt first, InputIt last, const T& value );
(1)

template< class InputIt, class UnaryPredicate >

InputIt find_if( InputIt first, InputIt last,
UnaryPredicate p );
(2)

template< class InputIt, class UnaryPredicate >

InputIt find_if_not( InputIt first, InputIt last,
UnaryPredicate q );

u012458164
u012458164   2014.11.18 21:34

vector是顺序类容器; 它在内存中是连续存放的;迭代器是一种智能指针,可以理解为泛型指针; 我认为是直接定义个迭代器,初始化时指定vector中某一元素。

u013952293
u013952293 怎么指定某一元素?只能是begin和end吗?
大约 3 年之前 回复
yangyuyu77584
yangyuyu77584   2014.11.18 21:57

可以的,你自己封装一个函数,函数内部是遍历这个vector,当这个vector的元素与你要的元素相同时,将迭代器的 返出。

u013952293
u013952293 可以参考
大约 3 年之前 回复
xianfajushi
xianfajushi   2014.11.18 22:48

http://blog.csdn.net/xianfajushi/article/details/25134799
std::vector<学生个人信息类>::iterator i;

07.i = 学生个人信息组.end();

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!