C++中的const

        在C语言中,const  用来限制一个变量,表示这个变量不能被修改,我们通常称这样的变量为常量(Constant)

        在C++中,const 的含义并没有改变,只是对细节进行了一些调整,以下是最主要的两点。

        1.C++中的 const 更像编译阶段的 #define

const int m=10;
int n=m;

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

        C++ 对 const 的处理少了读取内存的过程,优点是提高了程序执行效率,缺点是不能反映内存的变化,一旦 const 变量被修改,C++ 就不能取得最新的值。

        通过指针修改const变量:

#include 

你可能感兴趣的:(c++)