迭代器操作 說明
(1)所有迭代器
p++ 后置自增迭代器
++p 前置自增迭代器
(2)輸入迭代器
*p 復引用迭代器,作為右值
p=p1 將一個迭代器賦給另一個迭代器
p==p1 比較迭代器的相等性
p!=p1 比較迭代器的不等性
(3)輸出迭代器
*p 復引用迭代器,作為左值
p=p1 將一個迭代器賦給另一個迭代器
(4)正向迭代器
提供輸入輸出迭代器的所有功能
(5)雙向迭代器
--p 前置自減迭代器
p-- 后置自減迭代器
(6)隨機迭代器
p+=i 將迭代器遞增i位
p-=i 將迭代器遞減i位
p+i 在p位加i位后的迭代器
p-i 在p位減i位后的迭代器
p[i] 返回p位元素偏離i位的元素引用
p<p1 如果迭代器p的位置在p1前,返回true,否則返回false
p<=p1 p的位置在p1的前面或同一位置時返回true,否則返回false
p>p1 如果迭代器p的位置在p1后,返回true,否則返回false
p>=p1 p的位置在p1的后面或同一位置時返回true,否則返回false
只有順序容器和關聯容器支持迭代器遍歷,各容器支持的迭代器的類別如下:
容器 支持的迭代器類別 容器 支持的迭代器類別 容器 支持的迭代器類別
vector 隨機訪問 deque 隨機訪問 list 雙向
set 雙向 multiset 雙向 map 雙向
multimap 雙向 stack 不支持 queue 不支持
priority_queue 不支持
