1 static 關鍵字 演算法cpp

2021-08-05 23:41:46 字數 1859 閱讀 9043

2.      //靜態全域性變數有以下特點:

3.      //該變數在全域性資料區分配記憶體;

4.      //未經初始化的靜態全域性變數會被程式自動初始化為0(自動變數的值是隨機的,除非它被顯式初始化);

5.      //靜態全域性變數在宣告它的整個檔案都是可見的,而在檔案之外是不可見的;

6.      //靜態區域性變數有以下特點:

7.       //該變數在全域性資料區分配記憶體;

8.       //靜態區域性變數在程式執行到該物件的宣告處時被首次初始化,即以後的函式呼叫不再進行初始化;

9.       //靜態區域性變數一般在宣告處初始化,如果沒有顯式初始化,會被程式自動初始化為0;

10.   //它始終駐留在全域性資料區,直到程式執行結束。但其作用域為區域性作用域,當定義它的函式或語句塊結束時,其作用域隨之結束;

11.  //• 出現在類體外的函式定義不能指定關鍵字static;

12.  //• 靜態成員之間可以相互訪問,包括靜態成員函式訪問靜態資料成員和訪問靜態成員函式;

13.  //• 非靜態成員函式可以任意地訪問靜態成員函式和靜態資料成員;

14.  //• 靜態成員函式不能訪問非靜態成員函式和非靜態資料成員;

15.  //• 由於沒有this指標的額外開銷,因此靜態成員函式與類的全域性函式相比速度上會有少許的增長;

16.  //• 呼叫靜態成員函式,可以用成員訪問操作符(.)和(->)為乙個類的物件或指向類物件的指標呼叫靜態成員函式,也可以直接使用如下格式:

17.  //<類名>::<靜態成員函式名>(<參數列>)

18.  //呼叫類的靜態成員函式。

19.  //• 對於非靜態資料成員,每個類物件都有自己的拷貝。而靜態資料成員被當作是類的成員。無論這個類的物件被定義了多少個,靜態資料成員在程式中也只有乙份拷貝,由該型別的所有物件共享訪問。也就是說,靜態資料成員是該類的所有物件所共有的。對該類的多個物件來說,靜態資料成員只分配一次記憶體,供所有物件共用。所以,靜態資料成員的值對每個物件都是一樣的,它的值可以更新;

20.  //• 靜態資料成員儲存在全域性資料區。靜態資料成員定義時要分配空間,所以不能在類宣告中定義。在example 5中,語句int myclass::sum = 0; 是定義靜態資料成員;

21.  //• 靜態資料成員和普通資料成員一樣遵從public, protected, private訪問規則;

22.  //• 因為靜態資料成員在全域性資料區分配記憶體,屬於本類的所有物件共享,所以,它不屬於特定的類物件,在沒有產生類物件時其作用域就可見,即在沒有產生類的例項時,我們就可以操作它;

23.  //• 靜態資料成員初始化與一般資料成員初始化不同。靜態資料成員初始化的格式為:

24.  //<資料型別><類名>::<靜態資料成員名> = <值>

25.  //• 類的靜態資料成員有兩種訪問形式:

26.  //<類物件名>.<靜態資料成員名> 或<類型別名>::<靜態資料成員名>

27.  //如果靜態資料成員的訪問許可權允許的話(即public的成員),可在程式中,按上述格式來引用靜態資料成員;

28.  //• 靜態資料成員主要用在各個物件都有相同的某項屬性的時候。比如對於乙個存款類,每個例項的利息都是相同的。所以,應該把利息設為存款類的靜態資料成員。這有兩個好處,第一,不管定義多少個存款類物件,利息資料成員都共享分配在全域性資料區的記憶體,所以節省儲存空間。第二,一旦利息需要改變時,只要改變一次,則所有存款類物件的利息全改變過來了;

29.  //• 同全域性變數相比,使用靜態資料成員有兩個優勢:

30.  //1. 靜態資料成員沒有進入程式的全域性名字空間,因此不存在與程式中其它全域性名字衝突的可能性;

31.  //2. 可以實現資訊隱藏。靜態資料成員可以是private成員,而全域性變數不能;

this關鍵字 static關鍵字

1.當成員變數和區域性變數重名,可以用關鍵字this來區分 this 代表物件,代表那個物件呢?當前物件 this就是所在函式所屬物件的引用 簡單說 那個物件呼叫了this所在的函式,this就代表哪個物件 this也可以用於在建構函式中呼叫其他建構函式 注意 只能定義在建構函式的第一行,因為初始化...

Java this關鍵字,static關鍵字

1,this.屬性,this.方法,表示當前物件的屬性,當前類的方法 2,this,表示當前物件,當前正在操作這個方法的物件就是當前物件 3,使用this 引數若干 可以呼叫當前類的構造方法,如果,構造方法之間相互呼叫,則有要求 一 this 必須放在首行,二 至少有乙個構造方法是沒有呼叫this ...

static關鍵字 final 關鍵字

特點 隨著類的載入而載入,也就是說靜態會隨著類的消失而消失,說明他的生命週期最長 靜態變數 static 關鍵字修飾成員變數,使用 類名.變數名 的形式來訪問,也可以使用 例項物件.變數名 的形式來訪問。靜態方法 static 關鍵字修飾成員函式,靜態方法可以使用 類名.方法名 的形式來訪問,也可以...