2 9 static在C 中的用法

2021-09-27 01:39:58 字數 1202 閱讀 2963

2.9、static在c++中的用法

2.9.1、static在c++中的總結

靜態區域性變數:侷限於特定函式,但出作用域並不釋放。只有在程式結束時才釋放。

靜態成員變數:即類變數,被所有類成員物件共享。

靜態成員函式:即類函式。

以上的存放位置都在靜態資料區存放

2.9.2、靜態成員變數

1、目的:

解決資料共享問題,即在類的範圍內讓類的所有物件共享某個資料,也就是不通過全域性物件,而實現多個物件之間的資料共享。

2、原因:

靜態資料成員儲存在全域性的靜態儲存區,供所有物件使用,所以靜態資料成員也叫類成員或類變數。

3、靜態資料成員的值對於每乙個物件都是一樣的,但其值可以被任何乙個物件更新。

4、靜態成員變數的初始化

//例子

#include

using namespace std;

class myclass

;int myclass:

:sum=0;

//靜態成員變數的初始化

myclass:

:myclass

(int a,

int b)

void myclass:

:getnumber()

void myclass:

:getsum()

intmain()

2.9.2、靜態成員函式

例子:

#include

using namespace std;

class m

//內建函式

static

void

f1(m m)

;//公有靜態成員函式

private:

int m_a;

static

int ms_b;

//私有靜態成員變數};

int m:

:ms_b =0;

void m::f1

(m m)

//靜態成員函式體

intmain()

C中 static 的用法

對於函式而言,僅僅為隱藏作用。對於變數而言,1 隱藏 2 可以保持變數內容的持久,因為static變數儲存在靜態儲存區只在程式的剛開始完成初始化,唯一的一次初始化 即使在子函式中作靜態變數 若未賦值,則系統自動賦予0值。為自動區域性變數不賦初值的話,其值不定。當編譯多個檔案時,所有未加static字...

static在C和C 中的用法和區別

static主要有三個作用 1 區域性靜態變數 2 外部靜態變數 函式 3 靜態資料成員 成員函式 前兩種c和c 都有,第三種僅在c 中有,下面分別作以下介紹 一 區域性靜態變數 在c c 中,區域性變數按照儲存形式可分為三種auto,static,register。其中register不常用到,下...

static在C和C 中的用法和區別

static主要有三個作用 1 區域性靜態變數 2 外部靜態變數 函式 3 靜態資料成員 成員函式 前兩種c和c 都有,第三種僅在c 中有,下面分別作以下介紹 一 區域性靜態變數 在c c 中,區域性變數按照儲存形式可分為三種auto,static,register。其中register不常用到,下...