【C++基礎】——const關鍵字

本文介紹C++中的關鍵字const

const用來控制C++中的變量是否可以變化

  1. const與基本數據類型
  2. const與指針類型
  3. const與引用
1.const與基本數據類型

int a=2;//變量
//變量名: a
//存儲地址:&a
//存儲內容:2
加上const之後,變量就變成了常量

const int a=2;//常量
//變量名:a
//存儲地址:&a
//存儲內容:2

2.const與指針類型

數據類型前面加const和後面加const完全等價

const int *p=NULL;//const寫在數據類型前面   這兩種寫法完全等價
int const *p=NULL;//const寫在數據類型後面
* 後面加const
int *const p=NULL;

數據類型前面* 後面,和數據類型後面*後面完全等價

const int *const p=NULL;     這兩種完全等價
int const *const p=NULL;


Example:

int a=3,b=4;
const int *p=&a;
p=&b;//允許執行
*p=5;//不允許執行,const修飾*p,*p的值不能被修改
變量名           存儲地址           存儲內容

a                      &a                      3

p                      &p                     &a

Example:

int a=2,b=3;
int *const p=&a;
p=&b;//不允許,const在*的後面,意味着修飾p,p只能指向一個地址,不能被修改,用p再指向其他的地址時會報錯。

變量名           存儲地址           存儲內容

a                      &a                      2

p                      &p                     &a(被修飾,不能被修改)


Example:

int a=4,b=5;
const int *const p=&a;
p=&b;//不允許
*p=6;//不允許,前後都加了const時,p,*p都不能被修改

變量名           存儲地址           存儲內容

a                      &a                      4(被修飾,不能被修改

p                      &p                     &a(被修飾,不能被修改


3.const與引用Example:

int a=3;
const int &b=a;
x=4;//允許
b=5;//不允許,b作爲a的別名,前面嫁了修飾符const,b不能被修改







發佈了95 篇原創文章 · 獲贊 18 · 訪問量 31萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章