/*
 Module:		常量指针与指针常量.cpp
 Notices:		Copyright (c) 2017/5/11 Landy
*/
#include <iostream>
using namespace std;
int main()
{
	int a = 100, b = 200;
	// 常量指针
	const int *pConstPointer;
	pConstPointer = &a;
	cout << *pConstPointer << endl;				// 读权限
	// (*pConstPointer)++;						// 写权限 错误:不能给常量赋值
	pConstPointer = &b;							// 修改指针指向的对象
	/*总结:常量指针可以修改指向的对象,但只有读权限,而没有写权限*/
	// 指针常量
	int * const pPointerConst = &a;				// 指针常量必须定义时初始化
	cout << *pPointerConst << endl;				// 读权限
	(*pPointerConst)++;							// 写权限
	// pPointerConst = &b;						// 指针常量不能修改指向的对象
	/*总结:指针常量拥有读、写权限,但不可以修改指针指向的对象*/
	// 指向常量的指针常量
	const int * const pConstPointerConst = &a;	// 定义指向常量的指针常量时必须初始化
	cout << *pConstPointerConst << endl;		// 读权限
	// (*pConstPointerConst)--;					// 写权限
	// pConstPointerConst = &b;					// 不能修改指向的对象
	/*总结:指向常量的指针常量既不可以修改指向的对象,也没有对对象的写权限,只有读权限*/
	getchar();
	return 0;
}
/*
	结论:
		1、常量指针可以修改指向的对象,但对对象只有读权限,而没有写权限
		2、指针常量拥有对对象的读、写权限,但不可以修改指针指向的对象
		3、指向常量的指针常量既不可以修改指向的对象,也没有对对象的写权限,只有读权限
*/
原文:http://www.cnblogs.com/LandyTan/p/6843217.html