Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में ऑटो और डिक्लेटाइप क्या हैं?


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::iterator प्रकार प्राप्त करेगा।

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


  1. C++ में हस्ताक्षरित और अहस्ताक्षरित कीवर्ड क्या हैं?

    C++ में सभी प्रकार के नंबरों में या तो एक चिन्ह हो सकता है या नहीं। उदाहरण के लिए, आप केवल सकारात्मक पूर्णांक का प्रतिनिधित्व करने के लिए एक int घोषित कर सकते हैं। जब तक अन्यथा निर्दिष्ट न हो, सभी पूर्णांक डेटा प्रकार हस्ताक्षरित डेटा प्रकार होते हैं, अर्थात उनके पास ऐसे मान होते हैं जो सकारात्मक या

  1. C++ में टाइप स्पेसिफायर क्या हैं?

    जब आप पहली बार एक स्थिर रूप से टाइप की गई भाषा में एक चर घोषित करते हैं जैसे कि C++ आपको यह घोषित करना होगा कि वह चर क्या धारण करने वाला है। int number = 42; उस उदाहरण में, int एक प्रकार का विनिर्देशक है जो बताता है कि चर संख्या केवल पूर्णांक संख्याएँ धारण कर सकता है। रूबी या जावास्क्रिप्ट जैसी गति

  1. C++ में टाइप क्वालिफायर क्या हैं?

    टाइप क्वालिफायर एक ऐसा कीवर्ड है जो एक टाइप पर लागू होता है, जिसके परिणामस्वरूप एक क्वालिफाइड टाइप होता है। उदाहरण के लिए, const int एक योग्य प्रकार है जो निरंतर पूर्णांक का प्रतिनिधित्व करता है, जबकि int संबंधित अयोग्य प्रकार है, बस एक पूर्णांक है। टाइप क्वालिफायर टाइप सिस्टम के माध्यम से मूल्य के