const 是constant的缩写,本意是不变的,不易改变的意思,在C++中是用来修饰内置类型变量,自定义对象,成员函数,返回值,函数参数。
C++ const允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编译器某值是保持不变,就应该明确使用const,这样可以获得编译器的帮助。
一、const修饰普通类型的变量
const int a = 8; //. a不能被修改
二、const修饰指针变量
const修饰指针变量有以下三种情况。
A:const 修饰指针指向的内容,则内容为不可变量。
B:const修饰指针,则指针为不可变量。
C:const修饰指针和指针指向的内容,则指针和指针指向的内容都为不可变量。
A :const int *p = 8;//. 则指针指向的内容8不可改变。简称左定值,因为const位于*号的左边。
B : int a = 8; // 对于const指针p其指向的内存地址不能够改变,但其内容可以改变.简称右定向。const在*号右边
int * const p = &a;
*p = 9; // 正确
int b = 7;
p = &b; //. 错误
C : int a = 8; //。const p 指向的内容和指向的内存地址都已固定,不可改变。
const int *const p = &a;
对于 A