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