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;
}

更新于: 26-6-2020

16K+ 浏览量

开启你的 职业生涯

完成课程获得认证

开始
广告