一、什么是 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;
}