【C++】const && 引用
阿新 • • 發佈:2018-11-21
一、const
在C語言中(編譯階段中)
看常變數是否做左值,剩下的處理和普通的一樣
eg: const int a; a = 10;//error
在C++中(編譯階段把用到常量的地方替換成常量初始值)
常量不允許修改
- 常量一定要初始化
- 不允許普通指標指向(有被修改的風險)
這段程式碼中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
如何給一維陣列引用