常量指针

指向字符串常量的指针,pString为变量,*pString为常量。

//两种写法作用相同
const char *pString1;
char const *pString2;

指针常量

指向字符串(变量或者常量)的指针常量,pString为常量,*pString为变量或者常量。

char* const pString;

指向常量的指针常量

指向字符串常量的指针常量,pString为常量,*pString为常量。

const char *const pString;

类常量成员

class ClassName
{
public:
	const int a;
	const int b;
	static int c
	static const int d;
	//类成员常量只能通过构造函数的初始化成员列表来赋值
	ClassName(int x) : a(1), b(x)
	{
	}
};

//静态常量成员赋值必须与静态成员保持一致,在类定义外部进行
static int ClassName::c = 3;
static const int ClassName::d = 4;

类常量成员函数

class ClassName2
{
public:
	//类常量成员函数的声明与定义
	void func() const
	{
		//类常量成员函数不能修改类的成员变量,并且调用本类的成员函数也必须为常量成员函数。
	}
};

常量类实例对象

常量类实例对象的定义,常量对象只能被调用其类的常量成员函数。

const ClassName2 obj;