Auto एक ऐसा कीवर्ड था जो C++ को C से "विरासत में मिला" था जो लगभग हमेशा के लिए था, लेकिन वस्तुतः कभी भी उपयोग नहीं किया गया था। यह सब सी ++ 11 में संदर्भ से ऑटो टू डू टाइप डिडक्शन की शुरुआत के साथ बदल गया। सी ++ 11 से पहले, प्रत्येक डेटा प्रकार को संकलन समय पर स्पष्ट रूप से घोषित करने की आवश्यकता होती है, रनटाइम पर अभिव्यक्ति के मूल्यों को सीमित करता है लेकिन सी ++ के एक नए संस्करण के बाद, कई कीवर्ड शामिल होते हैं जो प्रोग्रामर को कंपाइलर को टाइप कटौती छोड़ने की अनुमति देता है।
टाइप अनुमान क्षमताओं के साथ, हम उन चीजों को लिखने में कम समय व्यतीत कर सकते हैं जिन्हें संकलक पहले से जानता है। चूंकि सभी प्रकार केवल कंपाइलर चरण में निकाले जाते हैं, संकलन का समय थोड़ा बढ़ जाता है लेकिन यह प्रोग्राम के रनटाइम को प्रभावित नहीं करता है।
ऑटो कीवर्ड निर्दिष्ट करता है कि घोषित किए गए वेरिएबल का प्रकार स्वचालित रूप से इसके इनिशियलाइज़र से घटाया जाएगा और फ़ंक्शंस के लिए यदि उनका रिटर्न टाइप ऑटो है तो रनटाइम पर रिटर्न टाइप एक्सप्रेशन द्वारा मूल्यांकन किया जाएगा।पी>
उदाहरण
#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; }