迭代器的宣告:
string str("abcdefg");
//正向遍歷str
std::string iterator it = str.begin(); //或end()
std::string const_iterator it = str.begin(); //或cend(),唯讀
//反向遍歷str
std::string reverse_iterator r_it = str.rbegin(); //或rend()
std::string const_reverse_iterator cr_it = str.crbegin(); //或crend(),唯讀
在c++11中,支援auto語法,由編譯器自動推測變數的型別,減少書寫的麻煩
auto it = str.begin();
舉例:
/*
>plan:string的迭代器
>author:adiiana
>time:2019/03/17
*/#include#includeusing namespace std;
int main()
cout << endl;
//定義反向遍歷迭代器
cout << "反向遍歷: ";
for (string::reverse_iterator it = str.rbegin(); it != str.rend(); ++it)
cout << *it;
cout << endl;
//定義非const可以用迭代器改變string的值。
cout << "輸出字串大寫,正向遍歷: ";
for (string::iterator it = str.begin(); it != str.end(); ++it)
cout << endl;
/* //編譯報錯: 不能給常量賦值
cout << "輸出字串大寫,正向遍歷: ";
string類 迭代器 vector類
string類 可變長1 用多少不夠用現增加 malloc 2 先預留再釋放不需要的部分 reverse shrink to fit 操作字串 目標 實現mystring 任務 學會使用string類成員函式 初始化 插入 比較 查詢 刪除 遍歷 替換 標頭檔案 include string s h...
迭代器的使用
先看下面的例子 vector 的元素刪除 話頭從 container 的元素刪除說起。jyhuang 觀察到 如果 vector 或 list 的最後乙個元素符合刪除條件,程式會有問題 他給我這樣乙個片段 template void print elements t elem void pfi in...
迭代器的使用
參考 stl中的迭代器有五種型別,不同的容器可支援不同的迭代器 1.vector,支援隨機迭代器 include include include using namespace std int main cout endl cout endl vector iterator iter1 charve...