const常量

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对象的数据成员

不可以引用和改变值

可以引用不可可以改变值

原文地址:https://www.cnblogs.com/handsometaoa/p/11142875.html