1. 迭代器定义
容器类名::iterator //正向迭代器
容器类名::const_iterator //常量正向迭代器
容器类名::reverse_iterator //反向迭代器
容器类名::const_reverse_iterator //常量反向迭代器
2. 迭代器类别
STL中的不同容器具有不同的迭代器类型,使用上主要分为:前向迭代器、双向迭代器、随机访问迭代器。
- 前向迭代器
一个前向迭代器p,仅支持++p、p++、*p操作, 比较时可以使用==、!=进行比较 - 双向迭代器
一个双向迭代器p,在前向迭代器的功能基础上,多了–p、p–操作 - 随机访问迭代器
随机访问迭代器p功能和普通的指针相近,在双向迭代器基础上,多了p+=i、p-=i、p+i、p-i、p[i]操作,并且可以使用<、>、>=、<=进行比较,p2-p1为p2相对p1的偏移