C++五種迭代器之間的關系


迭代器操作                      說明
(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   不支持


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM