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

C++学习, 存储类

存储类:

C++ 程序中变量/函数的范围(可见性)和生命周期。这些说明符放置在它们所修饰的类型之前。

C++ 的存储类:

  • auto:这是默认的存储类说明符,通常可以省略不写。auto 指定的变量具有自动存储期,即它们的生命周期仅限于定义它们的块(block)。auto 变量通常在栈上分配。

  • register:用于建议编译器将变量存储在CPU寄存器中以提高访问速度。在 C++11 及以后的版本中,register 已经是一个废弃的特性,不再具有实际作用。

  • static:用于定义具有静态存储期的变量或函数,它们的生命周期贯穿整个程序的运行期。在函数内部,static变量的值在函数调用之间保持不变。在文件内部或全局作用域,static变量具有内部链接,只能在定义它们的文件中访问。

  • extern:用于声明具有外部链接的变量或函数,它们可以在多个文件之间共享。默认情况下,全局变量和函数具有 extern 存储类。在一个文件中使用extern声明另一个文件中定义的全局变量或函数,可以实现跨文件共享。

  • mutable (C++11):用于修饰类中的成员变量,允许在const成员函数中修改这些变量的值。通常用于缓存或计数器等需要在const上下文中修改的数据。

  • thread_local (C++11):用于定义具有线程局部存储期的变量,每个线程都有自己的独立副本。线程局部变量的生命周期与线程的生命周期相同。


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

相关文章:

  • [Day 66] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • 深度学习100问22:什么是RNN训练过程中的反向传播算法
  • 火绒补充| 截止目前修改时间| 本文已上全站总榜33
  • Qt22双缓冲机制
  • 基于Video-Retalking-Gradio的AI数字人
  • 数学基础 -- 线性代数之正交矩阵
  • 解决 Linux 上的 SSH 登录缓慢问题
  • OpenHarmony 实战开发——应用HAP包签名
  • Node.js sqlite3的db.close方法:正确关闭数据库连接
  • 5G寻呼的 方式
  • Codeforces Round 968 (Div. 2 ABCD1D2题) 视频讲解
  • ElasticSearch常用DSL命令
  • 产品需求过程管理重要性
  • 大语言模型之Qwen2技术报告阅读笔记
  • boot跳转APP,概率性串口失效问题。
  • 【Spring Boot-IDEA创建spring boot项目方法】
  • 微积分复习笔记 Calculus Volume 1 - 1.3Trigonometric Functions
  • 基于yolov5的煤矿传送带异物检测系统python源码+onnx模型+评估指标曲线+精美GUI界面
  • free命令
  • Leetcode-有效的数独