有什么方法可以返回指向vector某一元素的迭代器?
(除了begin和end函数)
既然是迭代器,就只能顺序访问。你可以调用n次movenext跳过n个元素。
vector是顺序类容器; 它在内存中是连续存放的;迭代器是一种智能指针,可以理解为泛型指针; 我认为是直接定义个迭代器,初始化时指定vector中某一元素。
可以的,你自己封装一个函数,函数内部是遍历这个vector,当这个vector的元素与你要的元素相同时,将迭代器的 返出。
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 );