關於C 中的 static

2022-01-11 07:44:33 字數 546 閱讀 7158

一:c#中的靜態類和非靜態類

1:靜態類(有static標示):

包含靜態內容(靜態方法和靜態變數)

無法例項化,無論在類外被使用多少次,類的靜態成員在記憶體中只佔同一塊區域,不會重新開闢記憶體單元

訪問方式:類名.成員名

2:非靜態類:

包含非靜態內容(非靜態方法和非靜態變數)和靜態內容(靜態方法和靜態變數)

可例項化,每次例項化都是乙個新的物件,會在記憶體中開闢單元來裝這個新例項化的物件

訪問方式:用關鍵字new乙個該類的例項,然後用例項名.成員名(對於非靜態成員的訪問方式);類名.成員名(對於靜態成員的訪問方式)

當定義的類不需要進行例項化時,我們使用靜態類;如果需要例項化物件,需要繼承等特性時,應該使用非靜態類。

盡量用例項變數,少用靜態變數。因為例項變數隨著物件的銷毀而銷毀。靜態變數整個應用程式銷毀才銷毀。就像js中應該多使用區域性變數少用全域性變數一樣。

將需要同時也被靜態方法呼叫的變數設為靜態的,那麼靜態方法和例項方法都能訪問.

static 函式 C 中的static

函式中的靜態變數 當變數宣告為static時,空間將在程式的生命週期內分配,其被存放在在全域性資料區。即使多次呼叫該函式,靜態變數的空間也只分配一次,前一次呼叫中的變數值通過下一次函式呼叫傳遞。這對於在c c 或需要儲存先前函式狀態的任何其他應用程式非常有用。ps 對於乙個完整的程式,在記憶體中的分...

關於C 中的static修飾符

修飾類的時候表示可以不用例項化而直接使用的類。比如 class a public void fun2 使用fun1的話就直接a.fun1 就可以了,如果實用fun2的話必須例項乙個物件出來才行變數宣告成static的話當整個程式退出時才釋放空間 比如你申請了乙個變數名字交 static int p ...

關於C 中static靜態變數

c 靜態變數使用static 修飾符進行宣告,在類被例項化時建立,通過類進行訪問不帶有 static 修飾符宣告的變數稱做非靜態變數,在物件被例項化時建立,通過物件進行訪問乙個類的所有例項的同一c 靜態變數都是同乙個值,同乙個類的不同例項的同一非靜態變數可以是不同的值。靜態函式的實現裡不能使用非靜態...