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

auto

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

編輯 鎖定
本詞條缺少概述图,補充相關內容使詞條更完整,還能快速升級,趕緊來編輯吧!
auto是一個C/C++語言存儲類型,僅在語句塊內部使用,初始化可為任何表達式,其特點是當執行流程進入該語句塊的時候初始化可為任何表達式。C語言中提供了存儲説明符auto、register、extern、static説明的四種存儲類別。四種存儲類別説明符有兩種存儲期:自動存儲期和靜態存儲期。其中auto和register對應自動存儲期。具有自動存儲期的變量在進入聲明該變量的程序塊時被建立,它在該程序塊活動時存在,退出該程序塊時撤銷。在函數內部定義的變量成為局部變量。在某些C語言教材中,局部變量稱為自動變量,這就與使用可選關鍵字auto定義局部變量這一作法保持一致。
中文名
auto
解    釋
為一個自動存儲變量的關鍵字
初始化
可為任何表達式
局部變量
稱為自動變量

autoC語言

編輯
auto被解釋為一個自動存儲變量的關鍵字,也就是申明一塊臨時的變量內存。
例如:
auto a = 3.7;
表示a為一個自動存儲的臨時變量。

autoC++語言

編輯

autoC++ 98標準/C++03標準

同C語言的意思完全一樣:auto被解釋為一個自動存儲變量的關鍵字,也就是申明一塊臨時的變量內存。

autoC++ 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關鍵字時有一個限定條件,那就是必須給申明的變量賦予一個初始值,否則編譯器在編譯階段將會報錯。