本來打算只是些一點點關於static函式的東西,搜尋了一下,發現有篇文章寫的不錯,那麼就學習下,順便除錯一下。
link:[url]
c++的static有兩種用法:面向過程程式設計中的static和物件導向程式設計中的static。前者應用於普通變數和函式,不涉及類;後者主要說明static在類中的作用。
一、面向過程設計中的static
1、靜態全域性變數
在全域性變數前,加上關鍵字static,該變數就被定義成為乙個靜態全域性變數。我們先舉乙個靜態全域性變數的例子,如下:
//example 1
#include
void fn();
static int n; //定義靜態全域性變數
void main()
void fn()
void fn()//定義靜態函式
;int myclass::sum=0;//定義並初始化靜態資料成員
myclass::myclass(int a,int b,int c)
void myclass::getsum()
;int myclass::sum=0;//定義並初始化靜態資料成員
myclass::myclass(int a,int b,int c)
void myclass::getsum() //靜態成員函式的實現
{// cout<)為乙個類的物件或指向類物件的指標呼叫靜態成員函式,也可以直接使用如下格式:
<類名>::<靜態成員函式名>(<參數列>)
呼叫類的靜態成員函式。
c 之關鍵字static
static這個關鍵字的作用有兩個,乙個是修飾變數,乙個是修飾函式。變數又分為區域性變數和全域性變數,但他們都存在記憶體的靜態區。也就是說,當static修飾的是區域性變數,那就是改變了區域性變數的生存時間 如果沒有static區域性變數修飾,那麼當區域性變數所處的函式結束時,該變數也就被釋放了 但...
關鍵字之static
小白眼中的static關鍵字用法 1 static方法 直接類名.方法命。如圖 2 static變數 靜態變數是共享,在類初次載入時會被初始化。比如我要在多個地方用到乙個叫string型別為 csdn 的資料。只需用static定義一次就好。private static final string c...
C 關鍵字之static詳解
static靜態的,不變的,在某個類中只有乙個,不會因例項化物件的不同而不同。static可以修飾類 字段 屬性 方法等。如乙個方法前加上static修飾後要對其進行呼叫可以直接通過類名點出來,不用再對類進行例項化。一 靜態類 1.只能包含靜態成員 靜態方法或靜態變數 非靜態成員是不能使用的,而非靜...