C 中auto的作用

2021-10-22 16:39:11 字數 545 閱讀 7031

auto是c++11標準中引入的關鍵字,是根據後面的值來推測前面的變數型別是什麼,對於簡化**具有重要意義。

1.auto的原理是通過後面的值來推斷變數型別,因此後面的值必須存在且型別明確,即auto變數必須被正確地初始化;

2.auto並非單獨的型別,其不能用於型別轉換等操作;

3.auto序列的多個變數必須為同一型別。

【注意點】

1.適用場景:

auto常用於使用stl的c++**中,這類**型別宣告處通常比較長,需要用auto代替來簡化**;auto由編譯器自動推導。

(**區因為我同時在學習stl,因此多用stl來寫**了哈)

e.g.建立乙個容器,遍歷並修改其中每個值:

#include

#include

using

namespace std;

intmain()

關於vector的使用,會寫在後續文章中;

auto可以替代一些型別說明符,但寫程式的人還是要對型別清楚,否則會出現不匹配的錯誤。

C 中auto的使用

auto是乙個c c 語言儲存型別,僅在語句塊內部使用,初始化可為任何表示式,其特點是當執行流程進入該語句塊的時候初始化可為任何表示式。c語言中提供了儲存說明符auto register extern static說明的四種儲存類別。四種儲存類別說明符有兩種儲存期 自動儲存期和靜態儲存期。其中aut...

auto關鍵字的作用

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

auto關鍵字作用

在定義變數時,使用auto可以讓變數定義為初始化的值型別。auto a 1 auto b string 123 在模板函式內,返回值可以省去型別,由編譯器推導。如果在c 11舊版本,需要使用decltype關鍵字手動推導。templateauto add t x,s y intmain 匿名函式無法...