首頁 >後端開發 >C++ >靜態變數在 C 成員函數中的行為如何?

靜態變數在 C 成員函數中的行為如何?

Patricia Arquette
Patricia Arquette原創
2024-11-07 21:45:03732瀏覽

How Do Static Variables Behave within Member Functions in C  ?

C 中成員函數內的靜態變數

在 C 中,成員函數可以包含靜態變數。類別中的靜態成員變數在該類別的所有實例之間共享,無論呼叫函數的物件為何。

讓我們考慮以下類別:

與假設 A 的每個實例都有自己的 i 副本,值得注意的是整個程式中只有一個 i 實例。這是因為 static int i 是在類別定義內部和任何特定函數外部聲明的,使其成為類別本身的成員,而不是 foo 函數的局部變數。

因此,A 物件的任何實例會影響同一個共享i,並且它的生命週期將持續到程式的執行過程中。例如:

在這種情況下,A 的所有實例都存取並修改同一個靜態變數 i。在任何實例上呼叫 foo 都會增加整個類別的共用 i。

以上是靜態變數在 C 成員函數中的行為如何?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn