C++STL(迭代器)
顺序容器和关联容器,都支持正向迭代器和反向迭代器!
- const_iterator: 常量的正向迭代器,只能读,而不能写了
- iterator: 普通的正向迭代器,从第一个访问到最后一个,可以更改元素值
- reverse_iterator: 普通的反向迭代器
- const_reverse_iterator: 常量的反向迭代器,只能解引用读取元素的值,不能修改元素的值
1、正向迭代器:iterator
普通的正向迭代器iterator既可以读又可以修改容器的元素。
2、常量迭代器:const_iterator
const_iterator: 常量的正向迭代器,只能读,而不能写了
普通迭代器是继承常量迭代器的关系!
const_iterator <= iterator
class const_iterator//基类
{
public:
const T& operator*() { return *_ptr; }
}
class iterator : public const_iterator//派生类
{
T& operator*() { return *_ptr; }
}
3、反向迭代器:reverse_iterator