C++基础:静态变量(保姆级讲解)

本文介绍了C++中静态变量的概念,如何在函数中使用静态变量实现计数功能,以及全局静态变量、局部静态变量和类的静态成员变量的区别。通过实例演示,展示了静态变量在程序执行期间的特性及其应用场景。
摘要由CSDN通过智能技术生成

1.静态变量定义

在C++的,静态变量是一个非常有用的特性,它在程序执行期间只初始化一次,并在程序的整个执行期间都保持其值。

可能这样子说大家无法特别理解:静态变量该怎么定义呢?静态变量的作用是什么?该如何体现呢?别急,举个例子,你将豁然开朗。

2.静态变量的应用

 假设我们现在想编写一个函数,功能是记录我们调用该函数的次数,对于初学者可能会编写出如下代码:

#include<iostream>
using namespace std;
void count() {
	int n = 0;
	n++;
	cout << "程序count()总共被调用了" << n << "次"<<endl;
}
int main(void) {
	for (int i = 0; i < 5; i++) {
		count();
	}
}

得到的结果是:

聪明的你可能会发现,每一次调用count()时,n都会被初始化为0,所以每一次输都是 “程序count()总共被调用了1次”。那么在不改变程序结构的情况下如何实现我们想要的结果呢?这就轮到我们今天的主角静态变量登场了!

静态变量可以使变量在程序执行期间只初始化一次,并在程序的整个执行期间都保持其值。程序应用十分方便,只需在变量定义前面加一个static,代码如下:

#include<iostream>
using namespace std;
void count() {
	static int n = 0;
	n++;
	cout << "程序count()总共被调用了" << n << "次"<<endl;
}
int main(void) {
	for (int i = 0; i < 5; i++) {
		count();
	}
}

得到结果如下:

可以发现,经过了一个小小的修改, 记录调用函数次数的功能就实现了!!

3.静态变量的分类(扩展)

  1. 全局静态变量:定义在程序所有函数之外,其作用域包括全体函数,类似于全局变量。
  2. 局部静态变量:定义在某个函数中,其作用域仅限于本函数内。
  3. 类中的静态成员变量:属于类的成员变量,其作用域为整个程序执行期间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值