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 日

7 千 + 檢視

開啟你的 職業生涯

完成課程以獲得認證

開始
廣告