1. 主页
  2. 文档
  3. C++教程
  4. C++函数
  5. C++ 存储类

C++ 存储类

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

生命周期是指变量保持活动状态的时间段,可见性是指可以访问变量的程序模块。

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

  1. Automatic
  2. Register
  3. Static
  4. External
  5. Mutable

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

External 存储类

extern 变量对所有程序都是可见的。如果两个或多个文件共享相同的变量或函数,则使用它。

extern int counter=0; 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

这篇文章对您有用吗?