在C++中,static變量的生命周期取決于它們的存儲(chǔ)位置。靜態(tài)變量可以分為兩種:靜態(tài)局部變量和靜態(tài)全局變量。
void function() {
static int count = 0;
count++;
cout << "Count: " << count << endl;
}
int main() {
function(); // 輸出 Count: 1
function(); // 輸出 Count: 2
return 0;
}
// File1.cpp
static int globalVar = 10;
// File2.cpp
extern int globalVar;
int main() {
cout << "Global Var: " << globalVar << endl; // 輸出 Global Var: 10
return 0;
}
總而言之,靜態(tài)變量的生命周期是整個(gè)程序運(yùn)行期間,它們?cè)诔绦蜷_(kāi)始時(shí)被初始化,在程序結(jié)束時(shí)被銷(xiāo)毀。靜態(tài)變量可以在聲明它們的作用域內(nèi)保持其值不變,對(duì)于靜態(tài)全局變量,只能在聲明它們的文件中訪問(wèn)。