C 中的const關鍵字

2021-06-19 16:40:19 字數 1198 閱讀 9311

1、普通const常量

1、定義全域性const常量,該常量的作用侷限於定義該常量的原檔案中,若外部檔案需要使用該常量,則需加extern關鍵字。

const int a=0; //作用域限於檔案

extern const int b=0 //可以供外部使用

. .....

extern const int a; //錯誤

extern const int b; //正確,宣告外部常量

2、const修飾指標

1、指向常量的指標          int const *p       //不能通過指標p修改所指物件的值;

2、指向變數的常量指標   int *const p=a   //不能修改指標p所指的物件;

3、指向常量的常量指標   char const *const p="abc"  //即不能通過指標p修改所指的內容,也不修改指標p所指的物件。

(可以用指向常量的指標指向非常量物件,也可以用指向非常量的指標指向常量物件)

3、const修飾引用

const引用即指向const物件的引用,可以初始化為不同型別物件的引用或者初始化為右值;

非const引用只能繫結到與該引用同型別的物件上。

4、const成員函式

const修飾類成員函式,改變了隱含的this形參的型別,為乙個指向const物件的指標,因而,該成員函式不能修改呼叫它的物件。

5、const形參與函式過載

可以基於函式的引用形參是指向const物件還是指向非const物件,實現函式過載:

1、如果傳遞const物件,則只有帶const引用形參的版本才是該呼叫可行的函式,如果形參是普通引用,則不能將const物件傳遞給這個形參;

2、如果是傳遞的是非const物件,則任意一種函式皆可行,但是,將const引用初始化為非const物件,需要轉化,而非const形參的初始化則是精確匹配。

C中const關鍵字

const 用法 定義常量,修飾指標 函式的輸入引數和返回值,把定義或者修飾的變數屬性設為唯讀。本質上它只是在全域性資料段或者棧中定義的是乙個唯讀的常量,不是真正位於字串常量區。所以關鍵字const 並不能把變數變成真正的常量,事實上還是可以改變 const 定義的變數的值。const 的目的是為了...

C 中const關鍵字

一 const修飾指標變數 int num 0 1.const在 前面,表示const修飾指標指向的內容 const int p intconst p 2.const在 後面,表示const修飾指標變數 int const p 二 const修飾成員函式首先來看一下普通成員函式 class a fu...

C 中」const「關鍵字

關於c 中的const關鍵字的用法非常靈活,而使用const將大大改善程式的健壯性,現將本人的一些體會總結如下,期望對大家有所幫助 一 丶const基礎 如果const關鍵字不涉及到指標,我們很好理解,下面是涉及到指標的情況 int b 500 const int a b 1 int const a...