Auto C++11 में एक कीवर्ड है और बाद में इसका इस्तेमाल ऑटोमैटिक टाइप डिडक्शन के लिए किया जाता है। टाइप अनुमान या कटौती एक प्रोग्रामिंग भाषा में अभिव्यक्ति के डेटा प्रकार की स्वचालित पहचान को संदर्भित करता है। यह कुछ दृढ़ता से स्थिर रूप से टाइप की गई भाषाओं में मौजूद एक विशेषता है। उदाहरण के लिए, आप एक वेक्टर पर पुनरावृति करने के लिए एक पुनरावर्तक बनाना चाहते हैं, आप उस उद्देश्य के लिए बस ऑटो का उपयोग कर सकते हैं।
उदाहरण
#include<iostream> #include<vector> using namespace std; int main() { vector<int> arr(10); for(auto it = arr.begin(); it != arr.end(); it ++) { cin >> *it; } return 0; }
उपरोक्त कार्यक्रम में, यह स्वचालित रूप से std::vector
decltype टाइप स्पेसिफायर एक निर्दिष्ट एक्सप्रेशन का प्रकार देता है। ऑटो के विपरीत जो वैरिएबल को असाइन किए जा रहे मानों के आधार पर प्रकारों को घटाता है, decltype उस प्रकार को पास की गई अभिव्यक्ति से घटाता है। decltype द्वारा लौटाया गया मान सीधे किसी अन्य चर को परिभाषित करने के लिए उपयोग किया जा सकता है। उदाहरण के लिए, उपरोक्त कोड को decltype का उपयोग करके निम्नलिखित के रूप में लिखा जा सकता है -
उदाहरण
#include <iostream> #include <vector> using namespace std; int main() { vector<int> arr(10); for (decltype(arr.begin()) it = arr.begin(); it != arr.end(); it++) { cin >> *it; } return 0; }
ध्यान दें कि decltype द्वारा दर्शाया गया प्रकार auto द्वारा निकाले गए प्रकार से भिन्न हो सकता है। आप इन सूक्ष्म अंतरों के बारे में C++ में टाइप डिडक्शन के इस 12-पृष्ठ स्पष्टीकरण में अधिक पढ़ सकते हैं -https://thbecker.net/articles/auto_and_decltype/section_01.html