#include <iostream>
#include <vector>
#include <string>
using namespace std;
void main()
{
int nNum1 = 111;
int nNum2 = 222;
int* pNum = &nNum2;
// effective c++ :
// * const const data; ( )
// * const const pointer;
// const int* p int const *p
// const const , const data.
const int* constData = &nNum1;
//*constData = *pNum; // error 。
constData = pNum; //ok
int* const constPointer = &nNum1;
*constPointer = *pNum; // ok
//constPointer = pNum; // error,const
//////////////////////////////////////////////////////////////
// :
//////////////////////////////////////////////////////////////
vector<int> vec;
vec.push_back(nNum1);
vec.push_back(nNum2);
//
vector<int>::const_iterator iter1 = vec.begin();
//*iter1 = nNum2; // error
iter1++; // ok
// const
const vector<int>::iterator iter2 = vec.begin();
*iter2 = nNum2; // ok
//iter2++; // error
}