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

C++ में Aggregates और PODs क्या हैं?


POD C++ में एक संक्षिप्त नाम है जिसका अर्थ है प्लेन ओल्ड डेटा। यह एक क्लास/स्ट्रक्ट है जिसमें केवल मेंबर वेरिएबल्स होते हैं और कोई मेथड्स, कंस्ट्रक्टर्स, डिस्ट्रक्टर्स, वर्चुअल फ़ंक्शन्स आदि नहीं होते। उदाहरण के लिए,

उदाहरण

#include<iostream> using namespace std; // POD struct MyStruct {    int key;    string data; }; int main() {    struct MyStruct s;    s.key = 1;    s.data = "hello";    return 0; }

स्ट्रक्ट MyStruct में कोई यूजर-डिफाइंड ctor, dtor आदि नहीं है और इसलिए यह एक POD है।

एक एग्रीगेट एक सरणी या एक क्लास है जिसमें कोई यूजर-डिक्लेयर्ड कंस्ट्रक्टर्स नहीं हैं, कोई private या protected नॉन-स्टेटिक डेटा मेंबर्स नहीं हैं, कोई बेस क्लासेस नहीं हैं, और कोई वर्चुअल फ़ंक्शन्स नहीं हैं।

एक एग्रीगेट क्लास को POD कहा जाता है यदि इसमें कोई यूजर-डिफाइंड कॉपी-असाइनमेंट ऑपरेटर और डिस्ट्रक्टर नहीं है और इसका कोई भी नॉन-स्टेटिक मेंबर नॉन-POD क्लास, नॉन-POD की सरणी, या रेफरेंस नहीं है।


  1. - C++ में वेरिएबल्स और उनके प्रकार क्या हैं?

    एक वेरिएबल हमें नामित स्टोरेज प्रदान करता है जिसे हमारे प्रोग्राम मैनिपुलेट कर सकते हैं। C++ में प्रत्येक वेरिएबल का एक विशिष्ट प्रकार होता है, जो वेरिएबल की मेमोरी के आकार और लेआउट को निर्धारित करता है; उस मेमोरी में संग्रहीत किए जा सकने वाले मानों की सीमा; और वेरिएबल पर लागू किए जा सकने वाले ऑपरे

  1. - C++ में cin, cout और cerr स्ट्रीम्स क्या हैं?

    cin, cout, cerr, और clog वे स्ट्रीम्स हैं जो स्टैंडर्ड इनपुट और स्टैंडर्ड आउटपुट को संभालते हैं। ये iostream हेडर फ़ाइल में परिभाषित स्ट्रीम ऑब्जेक्ट्स हैं। std::cin istream क्लास का एक ऑब्जेक्ट है जो संकीर्ण वर्णों (प्रकार char) के लिए उन्मुख स्टैंडर्ड इनपुट स्ट्रीम को दर्शाता है। यह C स्ट्रीम std

  1. - C++ में साइन्ड और अनसाइन्ड कीवर्ड्स

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