【C++】const && 引用

一、const

在C语言中(编译阶段中)

看常变量是否做左值,剩下的处理和普通的一样

eg: const int a;  a = 10;//error

 

在C++中(编译阶段把用到常量的地方替换成常量初始值)

常量不允许修改

  1. 常量一定要初始化
  2. 不允许普通指针指向(有被修改的风险)

这段代码中a 里面是20,但是打印却是10.

 

    3.const int gdata = 10;//local 属性  data段

        extern const int gdata = 10;

(extern 使 local  à   global  ;   声明外部变量)

 

二、引用

底层处理:

在C++中和指针处理方式相同

Int a = 10;  int& b = a;  b = 20; (系统自动解引用即 (*b) = 20;  a = 20)

特点:1、引用必须要初始化

2、引用初始化的变量一定能取地址

3、引用是不可改变的

/*

int a = 10;

int& c =a;

int b = 20;

&c = b;//error

*/

4、引用只能访问引用变量所引用的内存单元

cout<< c <<endl;èa的值 10

cout<< &c <<endl;èa的地址 &a

 

如何给一维数组引用

 

猜你喜欢

转载自blog.csdn.net/weixin_41576955/article/details/84316757