const int MAX = 128;
写法:const 在*前
做用:指针不能修改所指向的内容,可是能够改变指向指针
int a = 0; int b = 0; const int * i = &a; int const * j = &b; // 不要这样写,虽然能运算 *i = 1; // 错误 *j = 1; // 错误 i = &b; // 正确 j = &a; // 正确
写法:const 在*后
做用:指针能够修改所指向的内容,可是不能改变指向code
int a = 0; int b = 0; int * const i = &a; *i = 1; // 正确 i = &b; // 错误
写法:前,后,各加一个const
做用:指针不能修改指向的内容,也不能改变指向引用
int a = 0; int b = 0; const int * const p = &a; *p = 1; p = &b;
能够改变值,也能够改变指向
有的地方说,引用是不能改变指向的,但个人电脑能够...缘由不详...co
int a = 0; int b = 0; int & r = a; r = 1; // 正确 r = b; // 正确
写法:const 在&前
做用:引用不能修改值,也不能改变引用错误
int a = 0; int b = 0; const int & i = a; int const & j = b; // 不要这样写,虽然能运行 i = 1; // 错误 j = 1; // 错误 i = b; // 错误 j = a; // 错误
错误,错误,错误,这种写法不存在const