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不常用到,下...