const在*左边和*右边的区别
int n=1,m=2; const int* a=&n; cout<<*a<<endl; a=&m; cout<<*a<<endl; int* const b=&n; cout<<*b<<endl; *b=10; cout<<*b<<endl;
const int* a中,const修饰变量,表示指针a指向的变量是一个常量,不可修改,但是这个指针本身可以指向别的地方。在函数传参的时候经常用这种方式传参,代表这个函数承诺不会改变传入的参数(传入const引用也可以做到)
int* const b中,const修饰指针,表示这个指针是一个常量,不可修改,只能指向一个地方,但是他指向的这个地方,里面的值是可以修改的。
无情的摸鱼机器