c++static作用
时间: 2024-09-18 21:14:06 浏览: 60
C++ static关键字的原理及用法详解
在 C++ 中,`static` 关键字有多种用途,主要用于存储类别属性、局部变量的作用域保持以及函数内静态变量等。以下是 `static` 的几个常见应用场景:
1. 类成员变量静态化(Static Data Members):
当你在类中声明一个成员变量前加上 `static`,它就变成了所有对象共享的单例,而不是每个对象都有一个独立副本。例如:
```cpp
class MyClass {
static int sharedVariable;
};
```
这里 `sharedVariable` 对于类的所有实例都是相同的。
2. 静态局部变量(Static Local Variables):
如果在函数内部使用 `static`,则变量只初始化一次,并在整个函数调用期间保持其值,每次函数调用时不会重新分配内存。这可以用于缓存计算结果或作为计数器:
```cpp
void myFunction() {
static int count = 0; // 只初始化一次
count++;
}
```
3. 内联函数与静态成员函数:
内联函数前加上 `static` 通常是为了提高性能,因为编译器可以直接替换掉内联调用,无需创建实际函数调用的开销。而静态成员函数不能访问非静态成员,只能操作类的数据成员或其它静态成员。
阅读全文