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; }
廣告