auto關鍵字作用

2022-08-17 00:27:12 字數 506 閱讀 9445

在定義變數時,使用auto可以讓變數定義為初始化的值型別。

auto a = 1

;auto b = string("

123");

在模板函式內,返回值可以省去型別,由編譯器推導。如果在c++11舊版本,需要使用decltype關鍵字手動推導。

templateauto add(t x, s y)

intmain()

匿名函式無法使用模板來推導引數變數型別,所以直接用auto代替即可。

int

main();

cout

}

如果模板中使用了非型別引數,可以用auto代替其型別。

templateauto f()

intmain()

可以一次性定義一組變數。變數的型別可以不同。

intmain()

(**:

auto關鍵字的作用

在 c 語言以及 c 98 時代,auto 關鍵字的作用並不大,僅用於宣告變數是自動型別的變數,具有自動儲存期,這種型別的變數在進入變數宣告的程式塊中才被建立,程式退出程式塊時該變數就被撤銷,在函式內部定義的變數具有自動變數的屬性。void func int num 0 num 就是乙個自動型別的變...

auto關鍵字 decltype關鍵字

自動型別推斷 1 使用auto關鍵字的變數必須有初始值。在定義的時候進行初始化 2 函式引數和模板引數不能被宣告為auto。3 使用auto關鍵字進行型別推導時,如果初始化表示式是引用型別,編譯器會去除引用,除非顯示宣告 4 使用auto使用auto關鍵字進行型別推導時,編譯器會自動忽略頂層cons...

auto關鍵字使用

auto型別變數 根據初始值推斷真實的資料型別。有些時候並不能很確定乙個變數應該具備的資料型別,例如 將乙個複雜表示式的值賦給某個變數,此時並不能很明顯的確定這個值所具備的資料型別。此時auto關鍵字可以派上用場。auto儲存型別說明符宣告了乙個自動變數,auto物件和變數被儲存在棧中,它的生命週期...