const修饰符用来表明变量是不可改变的,可以避免程序员因为错误赋值而导致的一些程序错误。const修饰指针时,const的位置有两种情况,一种是在星号之前,一种是在星号之后,两者的区别如下:
<span style="font-size:14px;">#include<iostream>
using namespace std;
class node{
public :
node(){
cout<<"new node"<<endl;
}
int data;
};
int main(){
node n;
node m;
node* const p = &n;
const node* q=&m;
p=&m; //错误,p指向的内存地址不能改变
q->data=5; //错误,q指向的对象本身不能改变,这里的不能改变是指不能通过指针进行修改,m.data=5这种修改是可以,但是通过指针q就不行
return 0;
}</span>