使用迭代器

begin成员负责返回指向第一个元素的迭代器:

    //b表示v的第一个元素,e表示v尾元素的下一个位置
    auto b = v.begin(), e = v.end();//b和e的类型相同

end成员则负责返回指向容器“尾元素的下一位置”的迭代器,这样的迭代器仅是个标记,表示已经处理完了容器中的所有元素,end返回的迭代器成为尾后迭代器

tip:容器为空,则begin和end返回的是同一个迭代器,都是尾后迭代器。

迭代运算符

标准容器迭代器的运算符
*iter 返回迭代器iter所指元素的引用
iter->mem 解引用iter并获取该元素的名为mem的成员,等价于(*iter).mem
++iter 令iter指示容器的下一个元素
--iter 令iter指示容器的上一个元素
iter1==iter2 判断两个迭代器是否相等(不相等),如果两个迭代器指示的是同一个元
iter1!=iter2 素或者它们是同一个容器的尾后迭代器,则相等;反之,不相等

猜你喜欢

转载自www.cnblogs.com/suomeimei/p/10820409.html