c 的const和static區別

2021-08-30 22:00:45 字數 608 閱讀 2337

const定義的常量在超出其作用域之後其空間會被釋放,而static定義的靜態常量在函式執行後不會釋放其儲存空間。

static表示的是靜態的。類的靜態成員函式、靜態成員變數是和類相關的,而不是和類的具體物件相關的。即使沒有具體物件,也能呼叫類的靜態成員函式和成員變數。一般類的靜態函式幾乎就是乙個全域性函式,只不過它的作用域限於包含它的檔案中。

在c++中,static靜態成員變數不能在類的內部初始化。在類的內部只是宣告,定義必須在類定義體的外部,通常在類的實現檔案中初始化,如:double account::rate=2.25;static關鍵字只能用於類定義體內部的宣告中,定義時不能標示為static

在c++中,const成員變數也不能在類定義處初始化,只能通過建構函式初始化列表進行,並且必須有建構函式。

const資料成員 只在某個物件生存期內是常量,而對於整個類而言卻是可變的。因為類可以建立多個物件,不同的物件其const資料成員的值可以不同。所以不能在類的宣告中初始化const資料成員,因為類的物件沒被建立時,編譯器不知道const資料成員的值是什麼。

const資料成員的初始化只能在類的建構函式的初始化列表中進行。要想建立在整個類中都恆定的常量,應該用類中的列舉常量來實現,或者static cosnt。

C 中 const 和 static 的總結

一 c 中的const是為了幹什麼 const 的特點和應用場景 c 中的const 可以定義常量,修飾常變數 類的成員方法 類的成員變數 1 const用來定義常量,那麼這個常量就不能作為左值被修改,而且必須初使化。const修飾的常量如果是乙個明確的值,那麼常量在編譯期間會被常量的初始值替換 2...

C 之static和const的作用

static 的作用 函式體內static變數的作用範圍尾該函式體,不同於auto,該變數只被記憶體分配一次,下次呼叫時仍保持上次的值 在模組內的static可以被模組內函式所訪問,但不能唄模組外部訪問 模組內的static函式同2 類中static成員變數屬於整個類,對類的所有物件只有乙份拷貝 類...

C 中 const 和 static 的作用

const 的主要應用如下 const 關鍵字使用的注意點 c 中static關鍵字有三個明顯的作用 const char getchar void char ch getchar error const char ch getchar correct int getcount void const...