静态关键字的作用 - C/C++
静态关键字在C/C++编程语言中具有多种用途和功能。它可以应用于变量、函数和类等不同的上下文中,用于控制它们的可见性、生命周期和存储方式。下面将详细介绍静态关键字的不同用法及其作用。
-
静态局部变量:
在函数内部声明的局部变量可以使用静态关键字进行修饰,这将改变该变量的生命周期和可见性。静态局部变量只在函数第一次执行时进行初始化,并且在函数调用结束后仍然保留其值,直到程序的终止。它们在函数调用之间保持状态,可以用于在函数调用之间共享信息。#include <iostream> void exampleFunction() { static int counter = 0; // 静态局部变量 counter++; std::cout << "Counter: " << counter << std::endl; } int main() { exampleFunction(); // 输出: Counter: 1 exampleFunction(); // 输出: Counter: 2 exampleFunction(); // 输出: Counter: 3 return 0; } ```
-
静态全局变量:
静态全局变量是在所有函数之外声明的变量,它们的作用域被限制在声明它们的源文件中。与普通的全局变量不同,静态全局变量只能在声明它们的源文件中访问,其他源文件无法直接访问它们。这提供了一种限制变量作用域的方式,可以防止不同源文件之间的命名冲突。