C++常量和指针的定义:
注:定义指针的技巧是在标识符的开始处读他,并从里向外读。
- 指向const的指针
①const int* u;
表示:u是一个指针,它指向一个const int。这里不需要初始化,因为u可以指向任何标识符,也就是说,它不是一个const。但是它指向的值不能改变。
②int const* v;
表示:v是一个指向恰好是const的int的普通指针。即意义与①一样。建议使用①
- Const指针
使指针本身成为一个const指针,必须把const标明的部分放在*右边
如:
①int* const w=&d;
表示:w是一个指针,这个指针是指向int的const指针。因为指针本身是一个const,因此需要给w设置初始值,这个值在指针的生命期间内不变,但是可以改变它所指向的值。: 所以 *w=2 是有效的
② int const* const x1=&d;
Const int* const x2=&d;
以上这两种做法是把一个const指针指向一个const对象,现在指针和对象都不能变。