1.const与指针类型
const int * const p 与 int const * const p;完全等价
例如:
int x=3; const int* p=&x;
//p=&x完全正确//*p=4是错误的.
2.const与引用
例如:
int x=3;const int &y=x;
//x=10是正确的//y=20是错误的.
再举一些错误的例子与之比较,(这些例子都是错的!!):
int x=3; const int *y=&x; *y=5;//错误的
int x=5;const int y=x;y=5;//错误的
int x=3,z=4; int * const y=&x;y=&z;//错误的
const int x=3;const int &y=x;y=5;//错误的
const int x=3;int *y=&x;//错误的
来一个正确的栗子:
int x=3;
int y=5;
const int *y=&x;
p=&y;
//这个是对的!!!(用权限小的变量去接受一个权限比他大的变量是可以的)
//x的值也是可以改变的
//其中接受的是地址值,但const的却是*y这个量,并不是y这个地址值,所以
//y的地址值可以被改变,同时被授予的地址值内所拥有的量也可以改变