1、迭代器(iterators)概念
(1)迭代器是一種抽象的設(shè)計(jì)概念,其定義為:提供一種方法,使他能夠按順序遍歷某個(gè)聚合體(容器)所包含的所有元素,但又不需要暴露該容器的內(nèi)部表現(xiàn)方式。

(2)迭代器是一種行為類(lèi)似智能指針的對(duì)象, 而指針最常見(jiàn)的行為就是內(nèi) 容提領(lǐng)和成員 訪問(wèn)。 因此迭代器最重要的行為就是對(duì)operator*和operator->進(jìn)行重載。

(3)STL的中心思想在于: 將數(shù)據(jù)容器和算法分開(kāi), 彼此獨(dú)立設(shè)計(jì), 最后再以一貼膠合劑( iterator) 將它們撮合在一起。STL的迭代器是一個(gè)可遍歷STL容器全部或者部分?jǐn)?shù)據(jù)。

2、迭代器的使用

以list和vector為例說(shuō)明

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

 1 #include<iostream> 2 #include<vector> 3 #include<list> 4 #include<algorithm> 5 #include<string> 6 using namespace std; 7 void Test1() 8 { 9 vector<int>v1;10 v1. push_back(5) ;11 v1. push_back(4) ;12 v1. push_back(3) ;13 v1. push_back(2) ;14 v1. push_back(1) ;15 //迭代器遍歷順序表16 vector<int>: : iteratorit=v1. begin() ;17 for(; it! =v1. end() ; ++it)18 {19 cout<<*it<<" ";20 }21 cout<
        
		

網(wǎng)友評(píng)論