C++ Primer --- const_iterator 與 const類型的iterator

      每一種容器類型都定義了自己的迭代器類型。

      以vector容器爲例:  vector<int>::iterator iter;

      另外,每種容器類型還定義了一種const_iterator的類型,該類型只能用於讀取容器內元素,但不能改變其值:

 

      for ( vector< string >::const_iterator iter = test.begin() ; iter != test.end(): ++iter)

                 cout<< *iter << end;             // 正確

                 但如果想改變其值:

                 *iter  = "";                             // 錯誤

 

      再看const 的 iterator:聲明一個const的迭代器時就必須初始化,之後就不能改變它的值:

      vector<int> nums(10);

      const vector<int>::iterator cit = nums.begin();

      *cit = 1;                                            // 正確

      ++cit ;                                               // 錯誤

 

      這是一個很容易遺忘的技術細節。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章