使用static關鍵字

2021-06-23 05:58:07 字數 904 閱讀 9106

在前面的課程中,你學到了區域性變數(有塊範圍)和全域性變數(有計畫的範圍)。還有另乙個作用域的變數,可以水平:檔案範圍。

檔案範圍內的變數可以被訪問的任何功能或嵌在乙個單一的檔案。申報檔案作用域的變數,簡單地宣告乙個變數,一塊外(同乙個全域性變數)但使用static關鍵字:

123

4567

static int nvalue; // file scoped variable

float fvalue; // global variable

int main()

檔案作用域的變數的行為就像是全域性變數,但它們的使用被限制的檔案中宣告它們(這意味著你不能擴充套件到其他檔案)。檔案作用域的變數是不常見的c + +因為他們大多數對全域性變數的缺點,只是在乙個較小的規模。

static關鍵字

預設情況下,區域性變數自動持續時間,這意味著他們被破壞時,它們的宣告塊超出範圍。您可以顯式地宣告乙個變數,用自動關鍵字具有自動時間,雖然這是幾乎從來沒有因為區域性變數自動預設情況下,它將是多餘的。

使用static關鍵字的區域性變數的變化從自動持續時間,固定的持續時間(也被稱為靜態的時間)。乙個固定的時間變數是乙個保留它的價值甚至在範圍,它已建立已退出!不僅創造了固定持續時間的變數(初始化)一次,並持續了整個程式的生活。

顯示自動和固定持續時間的變數的例子之間的差異的最簡單的方法。

自動持續時間(預設):

123

4567

891011

1213

1415

16#include void incrementandprint()

// nvalue is destroyed here

int main()

使用static關鍵字

在前面的課程中,你學到了區域性變數 有塊範圍 和全域性變數 有計畫的範圍 還有另乙個作用域的變數,可以水平 檔案範圍。檔案範圍內的變數可以被訪問的任何功能或嵌在乙個單一的檔案。申報檔案作用域的變數,簡單地宣告乙個變數,一塊外 同乙個全域性變數 但使用static關鍵字 123 4567 static...

static關鍵字使用

版本 v1.0 public class study 6 1 class person4 靜態使用注意事項 1.靜態方法只能訪問靜態成員 非靜態的方法既可以訪問靜態也可以訪問非靜態 這點注意先後順序就可以理解 2.靜態方法中不可以定義this,super等關鍵字 因為靜態優先於物件存在。所以靜態方法...

static關鍵字使用

靜態變數作用範圍在乙個檔案內,程式開始時分配空間,結束時釋放空間,預設初始化為0,使用時可以改變其值。如果一區域性變數被宣告為static,那麼將只有唯一的乙個靜態分配的物件,它被用於在該函式的所有呼叫中表示這個變數。這個物件將只在執行執行緒第一次到達它的定義使初始化。用法2 區域性靜態物件 對於區...