C++ 存储类

C++ 存储类

存储类用于定义变量和/或函数在C++程序中的生存期和可见性。

生存期指的是变量保持活动的期间,可见性指的是变量在程序中可访问的模块。

C++程序中有五种类型的存储类,可以使用:

  1. 自动的
  2. 寄存器的
  3. 静态的
  4. 外部的
  5. 可变的
存储类 关键字 生命周期 可见性 初始值
Automatic auto Function Block Local Garbage
Register register Function Block Local Garbage
Mutable mutable Class Local Garbage
External extern Whole Program Global Zero
Static static Whole Program Local Zero

auto存储类

它是所有局部变量的默认存储类。auto关键字会自动应用于所有局部变量。

{ 
auto int y;
float y = 3.45;
}

上面的例子定义了两个具有相同存储类的变量,auto只能在函数内部使用。

register存储类

寄存器变量将内存分配到寄存器中而不是RAM中。它的大小与寄存器大小相同。相比其他变量,它的访问速度更快。

建议只在需要快速访问的情况下使用寄存器变量,例如在计数器中。

注意:我们无法获取寄存器变量的地址。

register int counter=0;  

static储存类

静态变量仅初始化一次,并存在于程序的结束。它在多个函数调用之间保持其值。

静态变量的默认值为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;  

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程