21xrx.com
2024-09-20 05:35:10 Friday
登录
文章检索 我的文章 写文章
C++中如何定义静态变量
2023-06-28 17:40:02 深夜i     --     --
C++ 静态变量 定义

在C++中,可以通过关键字“static”来定义静态变量。静态变量是指在程序执行期间一直存在并保持不变的变量,它们通常被用来在函数间共享数据、统计函数调用次数或记录程序状态等。

静态变量可以在全局作用域下或函数内部定义,但是它们的作用域都限制在定义的文件或函数内部。如下所示是全局作用域下的静态变量定义示例:


#include <iostream>

using namespace std;

static int g_staticVar = 10; // 全局静态变量

void fun() {

  static int s_staticVar = 20; // 函数内静态变量

  cout << "s_staticVar = " << s_staticVar << endl;

  s_staticVar++;

}

int main() {

  fun();

  fun();

  cout << "g_staticVar = " << g_staticVar << endl;

  return 0;

}

上述代码中,g_staticVar和s_staticVar都是静态变量。其中,g_staticVar被定义在全局作用域下,并被初始化为10;而s_staticVar是在函数内部定义的静态变量,它被初始化为20。当函数fun()被调用时,s_staticVar会保持存在并且不变,每次调用函数时s_staticVar的值都会增加1。当程序执行到main函数时,输出结果为:


s_staticVar = 20

s_staticVar = 21

g_staticVar = 10

从输出结果可以看出,函数内的静态变量s_staticVar在多次调用之间都保持不变,而全局静态变量g_staticVar也保持了它的初值。

总之,C++中定义静态变量可以通过关键字“static”实现,静态变量可以在全局作用域下或函数内部定义,但作用域都限制在定义的文件或函数内部。在程序执行期间,静态变量保持不变,它们通常被用来在函数间共享数据、记录程序状态等。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复