C++ const
const作为C语言中的关键字,被它修饰的变量是不允许改变,它把一个对象转换成一个常量(俗称:常量化)。
一、const修饰普通变量
1 const int a = 1; //定义一个const修饰的整型变量
2
3 a = 2 //error -->不能被修改
4
5 int b = a; //为其他变量赋值可以
从这里可以看出,const其实只限定变量a所对应内存的值不能被修改。
二、const修饰指针
1 int a = 1;
2
3 const int *p = &a; //const修饰p所指向的内存
4
5 *p = 2 // 编译失败
6
7 int * const q =&a; //const修饰指针所在的内存,指针本省不能被修改
8
9 *q = 3;
10
11 int b = 4;
12
13 q = &b; //编译失败,此时指针本身不能被修改
14
15 cout << a << endl;
16
17 //输出为3
三、修饰函数参数
#include <iostream>
using namespace std;
void func(const int a, int b)
{
a = 3; //编译失败, 被const修饰的函数参数不能修改
b = 4;
cout <<a<< endl;
cout <<b<< endl;
}
int main()
{
int a = 1;
int b = 2;
func(a, b);
return 0;
}
四、修饰成员函数
class A
{
public:
//默认构造函数
A()
{
a = 0;
b = 0.1;
}
void func() const
{
a = 2; //编译失败
b = 2.1; //编译失败
}
private:
int a;
double b;
};

浙公网安备 33010602011771号