C++ 函式中靜態變數的生命週期是多長?
靜態變數是用關鍵字 static 宣告的變數。靜態變數的空間僅分配一次,並且在程式的整個生命週期內使用。
此變數一旦宣告,就會一直存在,直到程式執行完畢。因此,靜態變數的生命週期就是程式的生命週期。
下面給出的程式演示了一個靜態變數。
示例
#include <iostream>
using namespace std;
void func() {
static int num = 1;
cout <<"Value of num: "<< num <<"\n";
num++;
}
int main() {
func();
func();
func();
return 0;
}輸出
上述程式的輸出如下。
Value of num: 1 Value of num: 2 Value of num: 3
現在,讓我們瞭解一下上述程式。
在函式 func() 中,num 是一個靜態變數,僅初始化一次。然後顯示 num 的值,並將 num 增加 1。程式碼片段如下所示 −
void func() {
static int num = 1;
cout <<"Value of num: "<< num <<"\n";
num++;
}在函式 main() 中,函式 func() 被呼叫 3 次。值 num 只分配一次,而不是在每次函式呼叫時分配。程式碼片段如下所示。
int main() {
func();
func();
func();
return 0;
}
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP