C++中const关键字
const与基本数据类型:
const int a=3;//表明a的值是不会改变,你在给a赋值是报错的
const与指针类型:
const int *p=NULL;
int const *p=NULL;
//上面两种写法是完全等价的
int * const p=NULL// 这种写法与上面是不相同的
//下面两种写法是一样的
const int * const p=NULL;
int const * const p=NULL;
例1:
/上述例子const修饰*p,所以*p的值不能改变:
例2:
这个例子const修饰的是p
例3:
const与引用:
上述例子给x一个引用y,但是y被const修饰,所以y的值不能改变
const示例:
上面第一句是定义一个指针y,而且y是由const来修饰,所以y值不能改变
第一句x被const修饰是固定不变的,而*y具有读权限(指针具有读权限),所以有可能改变x的值,所以是不给这样写法
第二句x没有被const修饰,所以x具有可读可写权限,所以是真确的