C++存储类用法

本文概述

  • 自动存储类
  • 注册存储类别
  • 静态存储类
  • 外部存储类别
存储类用于定义C ++程序中变量和/或函数的生存期和可见性。
生存期是指变量保持活动状态的时间段, 可见性是指可以访问变量的程序模块。
有五种类型的存储类, 可以在C ++程序中使用
  1. 自动
  2. 寄存器
  3. 静态的
  4. 外部
  5. 可变的
储存类别 关键词 一生 能见度 初始值
Automatic auto 功能块 Local Garbage
Register register 功能块 Local Garbage
Mutable mutable Class Local Garbage
External extern 整个程序 Global Zero
Static static 整个程序 Local Zero
自动存储类它是所有局部变量的默认存储类。 auto关键字自动应用于所有局部变量。
{ auto int y; float y = 3.45; }

上面的示例定义了两个具有相同存储类的变量, auto只能在函数内使用。
注册存储类别寄存器变量比RAM在寄存器中分配内存。其大小与寄存器大小相同。它具有比其他变量更快的访问权限。
建议仅将寄存器变量用于快速访问, 例如在计数器中。
注意:我们无法获取寄存器变量的地址。
register int counter=0;

静态存储类静态变量仅初始化一次, 并且一直存在到程序结束。它在多个函数调用之间保留其值。
【C++存储类用法】静态变量的默认值为0, 由编译器提供。
#include < iostream> using namespace std; void func() { static int i=0; //static variable int j=0; //local variable i++; j++; cout< < "i=" < < i< < " and j=" < < j< < endl; } int main() { func(); func(); func(); }

输出:
i= 1 and j= 1 i= 2 and j= 1 i= 3 and j= 1

外部存储类别extern变量对所有程序都是可见的。如果两个或多个文件共享相同的变量或函数, 则使用它。
extern int counter=0;

    推荐阅读