当前位置: 首页 > article >正文

C++——static应用全解

在C++中,static 关键字有多种用途,具体取决于它被使用的上下文。

一、作为变量修饰符

1、全局静态变量

全局静态变量的作用域限制在声明它的文件内,不能被其他文件访问。此外,如果在多个文件中声明了相同的全局静态变量,链接器不会报错,因为每个文件都会有自己的副本。

// file1.cpp
extern int globalVar;  // 声明
int globalVar = 10;  // 定义

// file2.cpp
extern int globalVar;  // 声明
int main() {
    globalVar = 20;
    cout << "globalVar in file2: " << globalVar << endl;
}

// static_var.cpp
static int globalStaticVar = 10;  // 全局静态变量

int main() {
    cout << "globalStaticVar: " << globalStaticVar << endl;  // 只能在本文件中访问
}

2、局部静态变量

 局部静态变量的作用域限制在其声明的函数内,但生命周期贯穿整个程序的执行过程。每次调用函数时,局部静态变量不会重新初始化,而是保留上次调用结束时的值。

#include <iostream>
using namespace std;

v

http://www.kler.cn/a/301089.html

相关文章:

  • C++系列之继承
  • UniApp的Vue3版本中H5配置代理的最佳方法
  • 第8章 硬件维护-8.6 产品变更管理(PCN)
  • MySQL 日志 主从复制
  • 【Pythonr入门第二讲】你好,世界
  • C++AVL平衡树
  • Java面试八股文
  • Docker学习笔记-部署MySQL-命令解读
  • thinkphp6 事务不起作用了咋回事
  • Unity动画系统详解
  • PDB数据库数据查看和下载
  • 数学建模笔记—— 模糊综合评价
  • Swift 基本语法
  • HTTP 之 响应头信息(二十三)
  • 设计表时的三大范式(MySQL)
  • llama.cpp本地部署大模型
  • Vue3+setup+el-pagination+el-select封装下拉分页及懒加载
  • Spring 源码解读:解决循环依赖的三种方式
  • 自动化立体仓库定义及使用范围
  • 服务器托管是什么意思?优缺点详解
  • ElasticSearch7.8下载、安装教程
  • 游戏工作室搬砖用的多开就是动态代理ip吗
  • vue-router + el-menu
  • 【HarmonyOS】云开发-云数据库(二)
  • 「iOS」折叠cell
  • 【STM32】VOFA+上位机 PID调参