auto是乙個c/c++語言儲存型別,僅在語句塊內部使用,初始化可為任何表示式,其特點是當執行流程進入該語句塊的時候初始化可為任何表示式。c語言中提供了儲存說明符auto、register、extern、static說明的四種儲存類別。四種儲存類別說明符有兩種儲存期:自動儲存期和靜態儲存期。其中auto和register對應自動儲存期。具有自動儲存期的變數在進入宣告該變數的程式塊時被建立,它在該程式塊活動時存在,退出該程式塊時撤銷。在函式內部定義的變數成為區域性變數。在某些c語言教材中,區域性變數稱為自動變數,這就與使用可選關鍵字auto定義區域性變數這一作法保持一致。
輸出auto tnumber =9;
auto tchar =
'a';
auto tstring =
"li"
;auto tauto = tnumber +1;
cout << tnumber << endl;
cout << tchar << endl;
cout << tstring << endl;
for迴圈輸出9ali
10
vector
輸出vector<
int> testnumber =
;for
(auto outnumber : testnumber)
for迴圈輸出-2,
0,0,
2,2,
1,-1
,4,-
5,3,
5
vector>
輸出vectorint>> total;
for(
auto num: total)
cout << endl;
}
-
5, 0, 5,
-5, 1, 4,
-5, 2, 3,
-2,-
1, 3,
-2, 0,-2,-
1, 0, 1,
C 中auto的作用
auto是c 11標準中引入的關鍵字,是根據後面的值來推測前面的變數型別是什麼,對於簡化 具有重要意義。1.auto的原理是通過後面的值來推斷變數型別,因此後面的值必須存在且型別明確,即auto變數必須被正確地初始化 2.auto並非單獨的型別,其不能用於型別轉換等操作 3.auto序列的多個變數必...
C 11中的auto陷阱
c 11中引入的auto關鍵字自動推導型別特性,可能是最方便也最容易理解的特性了。然而,即使是這個簡單特性,也有陷阱,需要我們使用時注意。1 引用型別被推導為非引用型別 例如 foo void arg 上面的 中big會被推導為mybigclass型別,而不是mybigclass 型別,從而導致拷貝...
c 中auto和decltype的區別
c 11中引入了auto型別說明符,用它就能讓編譯器替我們去分析表示式所屬的型別,auto讓編譯器通過初始化值來推算變數的型別。如 auto item vall val2 此處編譯器將根據vall和val2相加的結果來推斷item的型別,假如vall和val2的型別是double,則item的型別就...