在 C++ 中,auto 關鍵字的作用是什麼?


Auto 是 C++ 從 C 中“繼承”的一個關鍵字,早已出現,但幾乎從未使用過。隨著 C++11 中推出 auto 用於根據上下文進行型別推導,這種情況發生了根本性改變。在 C++ 11 之前,每個資料型別都需要在編譯時顯式宣告,這限制了執行時表示式,但 C++ 的新版本中包含了許多關鍵字,允許程式設計師將型別推導留給編譯器本身。

有了型別推斷功能,我們花在編寫編譯器已知內容上的時間就更少了。由於所有型別僅在編譯器階段推斷,因此編譯時間會略微增加,但這不會影響程式的執行時間。

auto 關鍵字指定正在宣告的變數的型別將自動根據其初始化程式推斷,對於函式,如果它們的返回型別為 auto,那麼將在執行時由返回型別表示式對其進行求值。

示例

#include<iostream>
#incllude<vector>
using namespace std;

int main() {
   vector<int> vec(10);       // Auto deduce type to be iterator of a vector of ints.
   for(auto it = vec.begin(); it != vec.end(); vec ++)
   {
      cin >> *it;
   }
   return 0;
}

更新於: 2020 年 2 月 10 日

7K+ 瀏覽量

開啟您的職業

透過完成課程獲得認證

開始
廣告
© . All rights reserved.