C++中的const更像编译阶段的#define
const int m = 10;
int n = m;
变量是要占用内存的,即使被const修饰也不例外。m,n两个变量占用不同的内存,int n = m;表示将m的值赋给n。
在C语言中,编译器会先到m所在的内存取出一份数据,再将这份数据赋给n;
在C++中,编译器会直接将10赋给m,没有读取内存的过程,和int n = 10效果一样。
在C++中的常量更类似于#define命令,是一个值替换的过程,只不过#define是在预处理阶段替换,而常量是在编译阶段替换。
C++中的const
优点:提高了程序执行效率
缺点