c++中const的学习
const一般用来定义常量,可以定义某一变量是无法改变的,也可以定义一个指针无法改变。
1,定义常量
例:
// 定义一个不能修改的变量
int const a=1;
//或
const int a =1;
2,用于指针
指向常量的指针
const int *p;
int const *p;//指针指向了一个常量,但指针的值可以修改。
例:
int a=1,b=2;
const int *p=&a;
*p=5 //错误,不能改变指针指向的变量的值
p=$b //正确,可以改变指针指向什么
不能改变指向的常指针
int * const p;
//p是一个无法改变指向谁的指针,但是p指向的变量的值可以改变
例:
int a=1,b=2;
const int *p=&a;
*p=5 //正确,a的值被修改为5
p=$b //错误,指针p不能修改指向的对象,只能指向a
3,用于函数的形参
void fun(const int *p)
此时,形参在函数内部不会被改变。函数不会修改作为输入的实参指针指向的数据。注意,不是不能修改而是不应修改。
4,定义类数据成员为const
5,定义类对象为const
当一个对象被声明或使用const关键字创建时,它的数据成员在对象的生命周期中永远不会被改变。