無論是前面學習的序列式容器,還是關聯式容器,要想實現遍歷操作,就必須要用到該類型容器的迭代器。當然,map 容器也不例外。
C++ STL 標準庫為 map 容器配備的是雙向迭代器(bidirectional iterator)。這意味著,map 容器迭代器只能進行 ++p、p++、--p、p--、*p 操作,并且迭代器之間只能使用 == 或者 != 運算符進行比較。
值得一提的是,相比序列式容器,map 容器提供了更多的成員方法(如表 1 所示),通過調用它們,我們可以輕松獲取具有指定含義的迭代器。
成員方法 | 功能 |
---|---|
begin() | 返回指向容器中第一個(注意,是已排好序的第一個)鍵值對的雙向迭代器。如果 map 容器用 const 限定,則該方法返回的是 const 類型的雙向迭代器。 |
end() | 返回指向容器最后一個元素(注意,是已排好序的最后一個)所在位置后一個位置的雙向迭代器,通常和 begin() 結合使用。如果 map 容器用 const 限定,則該方法返回的是 const 類型的雙向迭代器。 |
rbegin() | 返回指向最后一個(注意, |