---恢复内容开始---
1.指针常量与常量指针
指针常量:指针值是一个常量,即指针的值不能改变,永远指向固定的对象。
例:int a = 10, b = 15; int* const pInt = &a; pInt = &b;//错误
常量指针:指针指向的内容(所指对象的值)是一个常量,指向可以改变。
例:int a = 1, b = 2; const int* pInt = &a; pInt = &b;//正确
double PI = 3.14;
double* pNum = Π //指针非常量,被指物非常量
const double* pNum = Π //指针非常量,被指物常量
double* const pNum = Π //指针常量,被指物非常量
const double* const pNum = Π //指针常量,被指物常量
小结:const在*左边,被指物是常量;const在*右边,指针是常量。
2.注意事项
(1)确定对象在使用前已经先被初始化,一般在构造函数中初始化,注意格式,不等同于赋值操作。
(2)尽量使用const替换#define来定义某些常量。
(3)static对象的寿命:从被构造出来开始直至程序结束,程序结束时static对象会被自动销毁,即它们的析构函数会在main函数结束时自动调用。
---恢复内容结束---