l Const常量:
1.Const int max=100;
2.Int const max=100;
l Const int *p;常量指针
指针指向的对象是const,但指针可以修改指向地址;
int ival=100; const int *p=&ival; ival=500;//正确,ival没有被限定const可以被改变 *p=500;//错误,不可以通过指针p修改变量值,因为这是一个const指针
l Int const *p=&b;指针常量
指针指向的对象可以修改,但指针不可以修改指向地址;
int ival=1024; int *const p=&ival; *p=500;//可以修改指向对象的值 int ival1=100; p=&ival1;//错误,指针常量不能修改指向地址
l 常对象:
1.类名 const 对象名(实参列表)
2.Const 类名 对象名 (实参列表)
注意:常对象只能调用const型成员函数(防止非const型的成员函数修改常对象中的数据成员的值)
l 常成员函数:void print() const;
l 常数据成员:可以通过参数初始化列表对其赋值
1.int const num;
2.Const int num;
数据成员 |
非const成员函数 |
Const成员函数 |
|
非const数据成员 |
可以引用可以改变值 |
可以引用不可以改变值 |
|
常成员函数 |
Const数据成员 |
可以引用不可以改变值 |
可以引用不可可以改变值 |
常对象 |
Const对象的数据成员 |
不可以引用和改变值 |
可以引用不可可以改变值 |