共找到4條詞條名為auto的結果 展開
- 一種電腦病毒
- 顯示器自動校對屏幕顯示按鍵
- C/C++語言存儲類型
- 德魯賓所著圖書中面對生活障礙的方式
auto
C/C++語言存儲類型
auto是一個C/C++語言存儲類型,僅在語句塊內部使用,初始化可為任何錶達式,其特點是當執行流程進入該語句塊的時候初始化可為任何錶達式。C語言中提供了存儲說明符auto、register、extern、static說明的四種存儲類別。四種存儲類別說明符有兩種存儲期:自動存儲期和靜態存儲期。其中auto和register對應自動存儲期。具有自動存儲期的變數在進入聲明該變數的程序塊時被建立,它在該程序塊活動時存在,退出該程序塊時撤銷。在函數內部定義的變數成為局部變數。在某些C語言教材中,局部變數稱為自動變數,這就與使用可選關鍵字auto定義局部變數這一作法保持一致。
auto被解釋為一個自動存儲變數的關鍵字,也就是申明一塊臨時的變數內存。
例如:
1 | auto double a=3.7; |
表示a為一個自動存儲的臨時變數。
C++98標準/C++03標準
同C語言的意思完全一樣:auto被解釋為一個自動存儲變數的關鍵字,也就是申明一塊臨時的變數內存。
C++11標準
在C++11標準的語法中,auto被定義為自動推斷變數的類型。例如:
1 | auto x=5.2;//這裡的x被auto推斷為double類型 |
1 2 3 4 5 6 | map for(auto it=m.begin();//這裡it被auto推斷為map it!=m.end();++it) { //.... } |
不過C++11的auto關鍵字時有一個限定條件,那就是必須給申明的變數賦予一個初始值,否則編譯器在編譯階段將會報錯。