一、什么是 iterator?
C++中,iterator也被称为迭代器,其主要作用就是指向并访问容器中的元素,其像指针但不是指针。

PS:
-
begin()函数返回一个指向容器第一个元素的迭代器;end()函数返回一个指向容器最后一个元素之后位置的迭代器,它是一个不存在的元素位置。 -
STL中的 begin 和 end 定义的是一个半开放区间**
[begin, end)**,end 并不指向容器中的元素,而是指向最后一个元素的后一个位置。

二、迭代器
2.1 正向迭代器
iterator begin() end()
#include <iostream>
using namespace std;
#include <string>
int main()
{
string s1("hello world");
string::iterator it = s1.begin();// 指向第一个字符
while (it != s1.end())
{
cout << *it << " ";
}
cout << endl;
return 0;
}
2.2 反向迭代器
reverse_iterator rbegin() rend()
int main()
{
string s1("hello world");
string::reverse_iterator it = s1.rbegin();// 指向最后一个字符
while (it != s1.rend())
{
cout << *it << " ";
it++;
}
cout << endl;
return 0;
}










