当前位置: 首页 > 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

相关文章:

  • 通过将模型权重的矩阵表示为低秩矩阵,可以减少需要调整的参数数量,通俗易懂的解释,不懂你爬网线打我
  • 深度剖析RabbitMQ:从基础组件到管理页面详解
  • 【汇编】x86汇编编程寄存器资源心中有数
  • vim基本命令(vi、工作模式、普通模式、插入模式、可视模式、命令行模式、复制、粘贴、插入、删除、查找、替换)
  • LabVIEW智能水肥一体灌溉控制系统
  • 极客说|Azure AI Agent Service 结合 AutoGen/Semantic Kernel 构建多智能体解决⽅案
  • 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调参