const时一个用于声明常量的关键字,他表示被修饰的变量在执行过程中不可修改。
在C中:
1、声明常量变量
》 const用来声明一个常量并对其进行初始化。一旦声明为常量,它的值就不再被修改。
语法: const <type> <name> = <vaule>
2、声明常量指针
》 const用于修饰指针,形成常量指针,即指针所指向的内容不能被修改。
语法: const <type> *<name>
在C++中
除了有以上用法外还有一些额外用法。
1、修饰成员函数
》 在类中,可以在成员函数定义和声明中使用const修饰符,表示该成员函数是一个常量成员函数。
》 常量成员函数中不会修改类的成员变量(除非成员变量被声明为mutable
),只能访问类的常量成员变量和调用其他常量成员函数。
2、修饰成员函数参数
》 在C++中,可以在函数参数列表中使用const
来修饰传入的参数,表示在函数内部不会修改该参数的值。
3、修饰类的成员变量
》 在类中,可以使用const
修饰静态成员变量和非静态成员变量,确保它们在对象创建后不会被修改。
const修饰指针
1、常量指针
语法: const <type> *<name>
例如: const int*p = &a
指针的指向可以修改,但是指向的值不可以修改。
2、指针常量
语法: <type>* const <name>
例如: int* const p = &a
指针指向的值可以修改,指针的指向不可以修改。
3、const即修饰指针又修饰常量
语法: const <type>* const <name>
例如: const int* const p = &a
指针的指向和指向的值都不可以修改!