const和static const的區別

2021-06-07 11:34:06 字數 566 閱讀 6980

對於c/c++語言來講,const就是唯讀的意思,只在宣告中使用;

static一般有2個作用,規定作用域和儲存方式.

對於區域性變數,static規定其為靜態儲存方式,每次呼叫的初始值為上一次呼叫的值,呼叫結束後儲存空間不釋放;

對於全域性變數,如果以檔案劃分作用域的話,此變數只在當前檔案可見;

對於static函式也是在當前模組內函式可見.

static const 應該就是上面兩者的合集.

下面分別說明:

全域性:const,唯讀的全域性變數,其值不可修改.

static,規定此全域性變數只在當前模組(檔案)中可見.

static const,既是唯讀的,又是只在當前模組中可見的.

檔案:檔案指標可當作乙個變數來看,與上面所說類似.

函式:const,返回唯讀變數的函式.

static,規定此函式只在當前模組可見

.類:const,一般不修飾類,(在vc6.0中試了一下,修飾類沒啥作用)static,c++中似乎沒有靜態類這個說法,一般還是拿類當特殊的變數來看.

c#中有靜態類的詳細說明,且用法與普通類大不相同.

const物件和const函式

當乙個類的函式的參數列不同時,能過載函式,當函式的const性不同時,也能過載函式。如下所示 include a.h 定義了ca類 class cbigclass const ca getvalue const ca getvalue private ca m value 客戶端 如下 ca ca ...

頂層const和底層const

頂層const 本身是乙個常量 底層const 所指的物件是乙個常量 int const p1 i const修飾p1,p1本身是乙個const,所以這個const是頂層const const int ci 42 const修飾ci,ci本身是乙個const,頂層 const int p2 ci c...

頂層const和底層const

1.頂層 const 與底層 const概念 指標本身是乙個物件,因為,指標實際對應著記憶體單元的一段儲存空間,然而,指標所指向的也是乙個資料物件,因此,指標是乙個常量與指標所指向的是乙個常量是兩個完全不同的概念,頂層 const表示的是指標本身是乙個常量,底層const 表示的是指標所指的物件是乙...