声明指针时,可以在类型前或后使用关键字const,以下是一些合法声明:
const int *pOne
int * const pTwo
const int * const pThree
然而这些声明的含义却是不同:
pOne是一个指向整型常量的指针。它指向的值不能修改。
pTwo是一个指向整型的常量指针。它指向的值可以修改,但pTwo不能指向其他变量。
pThree是一个指向整型常量的常量指针。它指向的值不能修改,且它也不能指向其它变量。
理解这些声明的技巧在于,查看const右边确定什么被声明为常量,如果是类型,则值是常量;如果是指针变量,则指针本身是常量。这就是const指针右边法则。