C 中auto的使用

2021-10-02 00:23:15 字數 1139 閱讀 2762

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;

輸出

9ali

10

for迴圈輸出vector
vector<

int> testnumber =

;for

(auto outnumber : testnumber)

輸出

-2,

0,0,

2,2,

1,-1

,4,-

5,3,

5

for迴圈輸出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的型別就...