静态变量是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;
五、静态变量的作用
静态变量常用于维护一个类或函数的状态。
六、线程安全注意
静态变量可能存在多个线程同时访问,需要加锁控制。
总结来说,静态变量有其特定的使用场景,合理利用可以简化设计,编写更清晰的程序。