鍍金池/ 教程/ C++/ C++存儲類
C++用戶定義異常
C++ this指針
C++存儲類
C++函數(shù)
C++交換變量值
C++ continue語句
C++注釋
C++函數(shù)遞歸
C++ goto語句
C++函數(shù)-通過值調(diào)用和引用調(diào)用
C++重載
C++語言歷史
C++反轉(zhuǎn)數(shù)字
C++ try/catch語句
C++是什么?
C++變量
C++ break語句
C++運算符
C++第一個程序
C++繼承
C++虛函數(shù)
C++將十進制轉(zhuǎn)換為二進制
C++矩陣乘法
C++對象和類
C++基礎(chǔ)輸入輸出(cin,cout,endl)
C++文件和流
C++求素數(shù)
C++ if/else語句
C++友元函數(shù)
C++命名空間
C++面向?qū)ο蟾拍?/span>
C++階乘
C++關(guān)鍵字
C++重載
C++聚合
C++結(jié)構(gòu)體
C++的特點(特性)
C++打印字母表三角
C++ switch語句
C++多態(tài)
C++ do-while循環(huán)
C++字符串
C++ static關(guān)鍵字
C++錯誤處理
C++ for循環(huán)
C語言與C++的區(qū)別
C++ while循環(huán)
C++開發(fā)環(huán)境的安裝
linux環(huán)境下編譯C++ 程序
C++枚舉
C++指針
C++斐波納契數(shù)列
C++阿姆斯壯數(shù)字
C++接口
C++教程
C++數(shù)組
C++數(shù)據(jù)抽象
C++回文程序?qū)嵗?/span>
C++打印數(shù)字三角
C++將數(shù)組傳遞到函數(shù)
C++多維數(shù)組
C++將數(shù)字轉(zhuǎn)換字符

C++存儲類

存儲類用于定義C++程序中變量和/或函數(shù)的生命周期和可見性。

壽命是指變量保持活動的時間段,可見性是指可訪問變量的程序的模塊。

有五種類型的存儲類,可以在C++程序中使用

  • 自動(Automatic)
  • 寄存器(Register)
  • 靜態(tài)(Static)
  • 外部(External)
  • 可變(Mutable)
存儲類 關(guān)鍵字 生命周期 可見性 初始值
自動 auto 函數(shù)塊 局部 垃圾
寄存器 register 函數(shù)塊 局部 垃圾
可變 mutable 局部 垃圾
靜態(tài) static 整個程序 全局
外部 extern 整個程序 局部

自動存儲類

它是所有局部變量的默認存儲類。 auto關(guān)鍵字自動應用于所有局部變量。

{   
    auto int y;  
    float y = 3.45;  
}

上面的例子定義了兩個具有相同存儲類的變量,auto只能在函數(shù)中使用。

注冊存儲類

寄存器變量在寄存器中分配存儲器而不是RAM。 其大小與寄存器大小相同。 它比其他變量具有更快的訪問速度。
建議僅使用寄存器變量進行快速訪問,例如:在計數(shù)器中。

注意:我們不能得到寄存器變量的地址。

register int counter=0;

靜態(tài)存儲類

靜態(tài)變量只初始化一次,直到程序結(jié)束。 它保留可在多個函數(shù)之間調(diào)用的值。
靜態(tài)變量由編譯器提供的一個默認值: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();    
}

執(zhí)行上面代碼,得到以下結(jié)果 -

i= 1 and j= 1
i= 2 and j= 1
i= 3 and j= 1

外部存儲類

extern變量對所有程序都可見。 如果兩個或多個文件共享相同的變量或函數(shù),則使用它。

extern int counter=0;