關於iterator迭代器的問題

2022-08-31 22:12:20 字數 559 閱讀 8296

書上說,list的迭代器只能進行「++」或「——」操作,不能進行+n或-n的操作,因為元素的位置並不是物理相連的。。

好吧,那就弄個for迴圈來實現+n的效果。

下面是我的**:

1 #include2 #include3

using

namespace

std;45

intmain()

614 list::iterator it=l.begin();

15for(int i=1; i<=n; i++,it++)cout<<*it<16 cout<<*it<1718

19return0;

20}

輸入20 5

輸出真是奇了怪了!!!!

(11.7)

(⊙o⊙)…知道怎麼回事了,乙個關於for迴圈很簡單的問題。。

例如:for(i=1; i<=10; i++) 語句; 上例中先給i賦初值1, 判斷i是否小於等於10, 若是則執行語句, 之後值增 加1

搞清楚它的執行順序——先for迴圈內部執行語句,再執行自增語句!!!

迭代器模式(Iterator)

迭代器模式 iterator 提供一種方法順序訪問乙個聚合物件中的各種元素,而又不暴露該物件的內部表示。當你需要訪問乙個聚合物件,而且不管這些物件是什麼都需要遍歷的時候,就應該考慮使用迭代器模式。另外,當需要對聚集有多種方式遍歷時,可以考慮去使用迭代器模式。迭代器模式為遍歷不同的聚集結構提供如開始 ...

迭代器模式(Iterator)

1.目的 當需要遍歷 單種方式或多種方式 遍歷乙個組合物件時,使用遍歷模式。該模式類似與將容器的介面進行封裝,不對外直接暴露容器的介面的做法類似。2.ifndef iterator h define iterator h include include using namespace std cla...

Iterator 迭代器模式

現在有乙個集合。其內部元素的儲存方式可能比較複雜。為了讓使用者在不用關心其內部表示的情況下對其元素進行訪問,於是建立了乙個迭代器用於對集合的各個元素進行訪問。為了給使用者提供乙個更友好且強大的介面類,於是對迭代器以組合的形式進行封裝,得到乙個管理類。使用者直接操作該管理類即可得到指定元素,或通過管理...