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 | 素或者它们是同一个容器的尾后迭代器,则相等;反之,不相等 |