static静态变量的作用c++
时间: 2024-11-16 17:09:19 浏览: 3
详解c++ 静态成员变量
在C++中,static关键字用于声明静态变量。主要有以下几个作用:
1. **存储持久化**:静态变量在整个程序运行期间只被初始化一次,并且生命周期贯穿整个程序,不会因为函数调用结束而消失。这意味着无论何时只要该变量未被销毁,其值就会保持不变。
2. **全局共享**:如果静态变量位于函数内部,它就是局部静态,但对于所有函数调用来说都是可见的,因此可以作为全局信息传递的中间存储。
3. **节省内存**:相比于非静态局部变量,静态变量通常不需要为每个函数调用分配内存,这对于大量小规模数据很有帮助。
4. **控制范围**:静态成员变量属于类,而不是某个特定的对象实例,所以不能通过类的对象直接访问,而是通过类名来操作。
例如:
```cpp
class MyClass {
public:
static int counter; // 静态整型变量
void func() {
++counter; // 只有在MyClass中,counter才增一
}
};
int MyClass::counter = 0; // 初始化静态变量
void main() {
MyClass::func(); // 调用函数会增加全局counter
}
```
阅读全文