C++Primer学習7:const iteratorとconst_iteratorの違い


const iteratorとは、iteratorがパラメータであり、変更不可であることを意味します.
const_iteratorはiteratorが指す要素で変更できません
#include 
#include 
using namespace std;

int main()
{

    vector num(10,9);
    //    2    
    const vector::iterator iter1 = num.begin(); //     ,        
//    ++iter1; //error

    vector::const_iterator iter2 = num.begin();  //                
    ++iter2; //true
//    *iter2 = 7;  //error


    int i;
    vector::iterator iter;
    for(i = 0,iter = num.begin(); iter != num.end(); ++iter,++i)
    {
        *iter = i;
    }

    //        
    //iter + n
    vector::iterator iter3 = num.begin();
    vector::iterator iter4 = num.end();
    vector::iterator mid = num.begin() + num.size() / 2;
    iter3 += 2;
    cout << "*iter3 = " << *iter3 << endl;
    cout << "iter4 iter3   :"<< iter4 - iter3 <