C++中static关键字的作用及使用详解

176 篇文章 ¥59.90 ¥99.00
本文详细介绍了C++中static关键字的用途,包括静态局部变量(只初始化一次,多次调用同一函数时保持状态)、静态全局变量(限制其作用域,仅在定义文件内可见)、静态成员变量(类共享,所有对象共用一个实例)和静态成员函数(不依赖对象,直接通过类名调用)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++中static关键字的作用及使用详解

在C++编程中,static是一个重要的关键字。它的主要作用是改变数据或者函数的链接属性及作用域。在本篇文章中,我将会详细介绍static关键字的使用方法。

1.静态局部变量(Static Local Variables)

静态局部变量指在函数内部定义的变量,并且以关键字static修饰。这种变量只会被初始化一次,无论函数被调用了多少次,都只会有一个实例存在。静态局部变量默认的初值为0。

下面是一个例子:

#include <iostream>
using namespace std;

void demo() {
    static int count = 0;
    count++;
    cout << "Count: " << count << endl;
}

int main() {
    for(int i=0; i<5; i++) {
        demo();
    }
    return 0;
}

输出结果为:

Count: 1
Count: 2
Count: 3
Count: 4
Count: 5

可以看到,count只会被初始化一次,然后每次函数被调用时,它的值会自增。

2.静态全局变量(Static Global Variables)

静态全局变量是在函数外部定义的,以static关键字修饰的变量。它只能在定义它的文件中使用,其他文件无法访问。这种变量的生命周期同程序的运行周期一样长。