1. 程式人生 > >【C++】const && 引用

【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

 

如何給一維陣列引用