c++ const

116 阅读1分钟

修饰指针

int* const p=a

表示指针的地址不可改变

修饰指针指向的内存地址

const int* p=a

表示指针指向的内存地址存储的值不能改变

定义常量

const A a();
const int i = 0;

表示值不能改变

修饰形参

void func(const A& a);

表示引用仅可使用,不可改值

void func(const int* i);

同样表示指针指向的内存地址存储的值不能改变

修饰函数返回值

同样表示返回数据不能改值

修饰成员函数

表示该函数不能修改成员变量(使用mutable修饰的除外),也不能调用非const成员函数