static 只能初始化一次
时间: 2024-10-27 20:04:02 浏览: 8
php 静态变量的初始化
`static` 关键字在编程中常用于修饰变量或方法,它的作用有两点:
1. **生命周期全局共享**:
当一个变量被声明为 `static`,它的生命周期不再随着函数调用结束而结束,而是在整个程序运行期间都存在,每个实例只有一个共享的副本。这意味着无论何时调用含有 `static` 变量的函数,都会使用同一份内存空间里的值,除非显式地再次赋值。
2. **初始化仅一次**:
对于静态变量,其初始化只会在程序启动时执行一次。这意味着如果你在 `static` 变量初次声明的地方赋予了一个初始值,那么这个值将在所有后续调用该函数的上下文中保持不变。如果在函数内部设置了 `static` 变量的值,那只会改变当前实例的值,不会影响其他调用。
例如,在 C++ 中,这样的使用示例:
```cpp
void initialize() {
static int count = 0; // 初始化仅在此处执行一次
count++;
}
int main() {
initialize(); // 第一次调用,count=1
initialize(); // 再次调用,count仍为1,因为静态变量在main中只初始化一次
return 0;
}
```
阅读全文