C++ 存储类

C++ 存储类 首页 / C++入门教程 / C++ 存储类

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

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

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

  1. 自动(Automatic)
  2. 注册(Register)
  3. 静态(Static)
  4. 外部(External)
  5. 可变(Mutable)
存储类关键字生命同期可见度初始值
Automaticauto函数块本地(Local)未知
Registerregister函数块本地(Local)未知
Mutablemutable Class类本地(Local)未知
Externalextern整个程序全局(Global)
Staticstatic整个程序本地(Local)

自动(Automatic)存储类

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

{ 
auto int y;
float y = 3.45;
}

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

链接:https://www.learnfk.comhttps://www.learnfk.com/c++/cpp-storage-classes.html

来源:LearnFk无涯教程网

注册(Register)存储类

寄存器变量比RAM分配寄存器中的内存。其大小与寄存器大小相同。它具有比其他变量更快的访问权限。

建议仅将寄存器变量用于快速访问,例如在计数器中。

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

register int counter=0;  

静态(Static)存储类

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

静态变量的默认值为0,由编译器提供。

#include <iostream>
using namespace std;
void func() {  
   static int i=0; //静态变量  
   int j=0; //局部变量 
   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;  

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Go语言核心36讲 -〔郝林〕

浏览器工作原理与实践 -〔李兵〕

.NET Core开发实战 -〔肖伟宇〕

重学线性代数 -〔朱维刚〕

乔新亮的CTO成长复盘 -〔乔新亮〕

Go 语言项目开发实战 -〔孔令飞〕

如何成为学习高手 -〔高冷冷〕

业务开发算法50讲 -〔黄清昊〕

PPT设计进阶 · 从基础操作到高级创意 -〔李金宝(Bobbie)〕

好记忆不如烂笔头。留下您的足迹吧 :)