C 中 const 和 static 的作用

2022-03-09 19:39:40 字數 1161 閱讀 6244

const 的主要應用如下:

const 關鍵字使用的注意點:

c++中static關鍵字有三個明顯的作用:

const

char * getchar(void

) {};

char *ch =getchar();//

error

const

char *ch=getchar();//

correct

int getcount(void) const;

例子:

1 #include2

3int

main()

4

全域性變數本身就是靜態儲存變數,靜態全域性變數當然也是靜態儲存變數。這兩個在儲存方式上並無不同。

但是非靜態全域性變數的作用域是整個源程式,當源程式有多個原始檔組成時,非靜態全域性變數在各個原始檔中都是有效的。而靜態全域性變數的作用域只是在定義該變數的原始檔中有效,其他原始檔不能使用。

把區域性變數改變成static區域性變數後是改變了它的儲存方式,即改變它的生存期。

作用域不同,static作用域只限於本檔案,只在當前原始檔中使用的函式應該說明為內部函式,內部函式應該在當前原始檔中說明和定義。對於可在當前原始檔以外使用的函式,應該在乙個標頭檔案中說明,要使用這些函式的原始檔要包含這個標頭檔案。

舉例:

#includeusing

namespace

std;

class

widget

~widget()

static

intnum()

private

:

static

intcount;

};int widget::count =0

;int

main()

widget z;

cout

<<"

the num is

"return0;

}

輸出:

the num is

2the num is5

the num

is3

C 中 const 和 static 的總結

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

深入辨析C 中的static和const

const和static在c 中經常被使用到。簡單地說 const定義乙個類例項化範圍內的常量,而static定義的是類的靜態成員變數是由乙個類的所有例項物件共享的。再仔細說明一下 另外,也存在例外的情況!在stl原始碼剖析中1.9.3中提到的 如果在class中含有const static int...

c 的const和static區別

const定義的常量在超出其作用域之後其空間會被釋放,而static定義的靜態常量在函式執行後不會釋放其儲存空間。static表示的是靜態的。類的靜態成員函式 靜態成員變數是和類相關的,而不是和類的具體物件相關的。即使沒有具體物件,也能呼叫類的靜態成員函式和成員變數。一般類的靜態函式幾乎就是乙個全域...