複製鏈接
請複製以下鏈接發送給好友

auto

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

鎖定
auto是一個C/C++語言存儲類型,僅在語句塊內部使用,初始化可為任何表達式,其特點是當執行流程進入該語句塊的時候初始化可為任何表達式。C語言中提供了存儲説明符auto、register、externstatic説明的四種存儲類別。四種存儲類別説明符有兩種存儲期:自動存儲期和靜態存儲期。其中auto和register對應自動存儲期。具有自動存儲期的變量在進入聲明該變量的程序塊時被建立,它在該程序塊活動時存在,退出該程序塊時撤銷。在函數內部定義的變量成為局部變量。在某些C語言教材中,局部變量稱為自動變量,這就與使用可選關鍵字auto定義局部變量這一作法保持一致。
中文名
auto
解    釋
為一個自動存儲變量的關鍵字
初始化
可為任何表達式
局部變量
稱為自動變量
概念釋義
auto被解釋為一個自動存儲變量的關鍵字,也就是申明一塊臨時的變量內存。
例如:
auto 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關鍵字時有一個限定條件,那就是必須給申明的變量賦予一個初始值,否則編譯器在編譯階段將會報錯。