auto(C/C++語言存儲類型)

僅在語句塊內部使用,初始化可為任何表達式,其特點是當執行流程進入該語句塊的時候初始化可為任何表達式。C語言中提供了存儲說明符auto、register、extern、static說明的四種存儲類別。四種存儲類別說明符有兩種存儲期:自動存儲期和靜態存儲期。其中auto和register對應自動存儲期。具有自動存儲期的變數在進入聲明該變數的程式塊時被建立,它在該程式塊活動時存在,退出該程式塊時撤銷。在函式內部定義的變數成為局部變數。在某些C語言教材中,局部變數稱為自動變數,這就與使用可選關鍵字auto定義局部變數這一作法保持一致。

基本介紹

  • 中文名:auto
  • 解釋:為一個自動存儲變數的關鍵字
  • 初始化:可為任何表達式
  • 局部變數:稱為自動變數
C語言,C++語言,

C語言

auto被解釋為一個自動存儲變數的關鍵字,也就是申明一塊臨時的變數記憶體。
例如:
auto double a=3.7;
表示a為一個自動存儲的臨時變數。

C++語言

C++ 98標準/C++03標準
同C語言的意思完全一樣:auto被解釋為一個自動存儲變數的關鍵字,也就是申明一塊臨時的變數記憶體。
C++ 11標準
在C++11標準的語法中,auto被定義為自動推斷變數的類型。例如:
auto x=5.2;//這裡的x被auto推斷為double類型
map<int,int>m;for(auto it=m.begin();//這裡it被auto推斷為map<int,int>::iterator類型it!=m.end();++it){//....}
不過C++11的auto關鍵字時有一個限定條件,那就是必須給申明的變數賦予一個初始值,否則編譯器在編譯階段將會報錯。

相關詞條

熱門詞條

聯絡我們