C++进阶--const变量

//#############################################################
// const
//   - 编译时的限制:一个对象不能被修改 
//

int i = 1;

const int *p1 = &i;  // 数据不能被修改,指针可以被修改

int* const p2 = &i;  // 指针不能被修改, 数据可以

const int* const p3;  // 指针和数据都不能被修改


// 容易搞错的一种情况
int const *p4 = &i;   // 数据不能被修改,指针可以被修改

// 总结
// 如果const在*的【左边】, 那么【数据】为const
// 如果const在*的【右边】, 那么【指针】为const


/*
  为什么要使用const
		a.) 防止对数据的意外修改
		b.) 使程序具有更好的可读性,知道这些数据是常量
		c.) 使编译器能够做更多的优化,使代码更紧凑
		d.) const往往意味着变量放在ROM上,在嵌入式编程中很有用
*/
原文地址:https://www.cnblogs.com/logchen/p/10164796.html