static在 C++ 中的四种用法

static在cpp中的四种用法

1. 静态局部变量在函数内部声明的静态变量。即使函数结束,静态局部变量的值也会保留。通常用在需要记住历史信息的情况下。

  • 注意:当我们多次调用 count() 函数时,counter 变量的值会累加,而不是每次都从 0 开始
void count() {
    static int counter = 0; // 静态局部变量
    counter++;
    cout << counter << endl;
}
// 当我们多次调用 count() 函数时,counter 变量的值会累加,而不是每次都从 0 开始。

2. 静态全局变量在函数外部声明的静态变量。它的作用范围局限于声明它的文件内。通常用于在一个文件内共享信息,但防止其他文件访问。

注意:这个 counter 变量只能在 file1.cpp 中访问,其他的 .cpp 文件是无法访问的

// file1.cpp
static int counter = 0; // 静态全局变量
// 这个 counter 变量只能在 file1.cpp 中访问,其他的 .cpp 文件是无法访问的。

3. 静态成员变量类中的静态成员变量。它们是类的所有对象共有的静态成员变量在所有对象中有且只有一个副本。通常用在所有对象需要共享同一个变量的时候

注意:所有的 MyClass 对象都会共享同一个 counter 变量

class 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值