C 迭代器的簡單使用

2021-10-23 09:22:43 字數 1003 閱讀 3121

此文為閱讀筆記,內容基本出自書中。

使用下標訪問物件的成員的最基本方法有三種:string物件的字元訪問,vector物件的元素訪問,迭代器。

迭代器類似於指標型別,也提供了對物件的間接訪問。使用迭代器可以訪問某個元素,也能從乙個元素移動到另外乙個元素。迭代器分為有效和無效,有效的迭代器或者指向某個元素,或者指向容器中尾元素的下乙個位置,其他所有情況都屬於無效。

有迭代器的型別都擁有名為begin和end的成員,其中begin成員負責返回指向第乙個元素或第乙個字元的迭代器;end成員則負責返回指向容器(或string物件)尾元素的下乙個位置的迭代器,這個迭代器被稱作尾後迭代器或者簡稱為尾迭代器,並沒有實際含義,僅作為已經處理完成容器中的所有元素的標記。

若容器為空時,begin和end返回的是同乙個迭代器。

begin和end返回的具體型別由物件是否為常量決定,如果物件是常量,則返回const_iterator;如果物件不是常量,則返回iterator。作者建議對於只需讀操作而不需寫操作最好使用常量型別,c++11引入的cbegin和cend函式用於專門得到const_iterator型別的返回值,無論物件本身是否為常量。

要求:將string物件中的第乙個字母修改為大寫形式。

實現**:

#include int main(void) 

std::cout << s << std::endl;

return 0;

}

輸出效果:

hello world! 

要求: 將string物件中的第乙個單詞改寫為大寫形式。

實現**:

#include int main(void) 

std::cout << s << std::endl;

return 0;

}

實現效果:

hello world!

c 迭代器的簡單使用

begin end。begin指向首元素 end指向尾元素後邊的位址 vectorvec1 for auto it vec1.begin it vec1.end it 迭代器型別 iterator vectorvec2 vector iterator it vector iterator is fo...

C 迭代器的使用

建立迭代器最常用的方法是對 ienumerable 介面實現 getenumerator 方法,例如 public system.collections.ienumerator getenumerator getenumerator 方法的存在使得型別成為可列舉的型別,並允許使用 foreach 語...

簡單的ruby 迭代器

由於工作關係,一直沒有時間學習ruby,最近終於有時間可以學習下ruby了,同時也在csdn開了blog,藉此記錄一下自己學習的心得,當然不僅僅是ruby,近幾年動態語言非常的火熱,而我個人也非常喜歡動態語言的簡潔,可惜一直都沒什麼時間花在上面,如果可能除了ruby,我也想花花時間在其他的語言上,例...