C++ 静态变量

静态变量是C++中的一个特殊变量类型,本文将介绍它的定义和使用。

一、静态局部变量

函数内部使用static声明的变量是静态局部变量:

void func() {
  static int count = 0; // 静态局部变量

  count++; // 变量值继承前次调用
}

该变量会保留值在函数调用之间。

二、静态全局变量

全局作用域中使用static声明的变量是静态全局变量:

static int g_count = 0; // 静态全局变量

静态全局变量只能在当前文件内部使用。

三、类静态变量

类中使用static声明的是静态成员变量:

class MyClass {
  static int count; // 类静态变量
};

该变量属于类本身,而不属于类的实例。

四、const静态变量

静态变量可以被const修饰,使其成为常量:

static const int SIZE = 100;

五、静态变量的作用

静态变量常用于维护一个类或函数的状态。

六、线程安全注意

静态变量可能存在多个线程同时访问,需要加锁控制。

总结来说,静态变量有其特定的使用场景,合理利用可以简化设计,编写更清晰的程序。