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

C++ में is_empty टेम्प्लेट

इस लेख में हम सी++ एसटीएल में काम करने, वाक्य रचना और std::is_empty टेम्पलेट के उदाहरणों पर चर्चा करेंगे।

is_empty एक टेम्प्लेट है जो हेडर फाइल के अंतर्गत आता है। इस टेम्पलेट का उपयोग यह जांचने के लिए किया जाता है कि दिया गया वर्ग T खाली वर्ग है या नहीं।

खाली कक्षा क्या है?

एक वर्ग को खाली के रूप में जाना जाता है, जब किसी वर्ग में कोई डेटा संग्रहीत नहीं होता है। खाली वर्ग निम्नलिखित को संतुष्ट करता है -

  • लंबाई 0 के बिट फ़ील्ड के अलावा कोई गैर-स्थिर सदस्य नहीं होना चाहिए।
  • कोई वर्चुअल बेस क्लास या वर्चुअल फ़ंक्शन नहीं होना चाहिए।
  • कोई आधार वर्ग नहीं होना चाहिए।

सिंटैक्स

template <class T>is_empty;

पैरामीटर

टेम्पलेट में केवल कक्षा T का पैरामीटर हो सकता है, और जाँच कर सकता है कि कक्षा T एक खाली वर्ग है या नहीं।

रिटर्न वैल्यू

यह एक बूलियन मान लौटाता है, यदि दिया गया प्रकार एक खाली वर्ग है, तो सत्य है, और यदि दिया गया प्रकार खाली वर्ग नहीं है, तो यह गलत है।

उदाहरण

Input: class A{};
   is_empty<A>::value;
Output: true

Input: class B{ void fun() {} };
   is_empty<B>::value;
Output: true

उदाहरण

#include <iostream>
#include <type_traits>
using namespace std;
class TP_1 {
};
class TP_2 {
   int var;
};
class TP_3 {
   static int var;
};
class TP_4 {
   ~TP_4();
};
int main() {
   cout << boolalpha;
   cout << "checking for is_empty template for a class with no variable: "<< is_empty<TP_1>::value;
   cout <<"\nchecking for is_empty template for a class with one variable: "<< is_empty<TP_2>::value;
   cout <<"\nchecking for is_empty template for a class with one static variable: "<< is_empty<TP_3>::value;
   cout <<"\nchecking for is_empty template for a class with constructor: "<< is_empty<TP_4>::value;
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

checking for is_empty template for a class with no variable: true
checking for is_empty template for a class with one variable: false
checking for is_empty template for a class with one static variable: true
checking for is_empty template for a class with constructor: true

उदाहरण

#include <iostream>
#include <type_traits>
using namespace std;
struct TP_1 {
};
struct TP_2 {
   int var;
};
struct TP_3 {
   static int var;
};
struct TP_4 {
   ~TP_4();
};
int main() {
   cout << boolalpha;
   cout << "checking for is_empty template for a structure with no variable: "<< is_empty<TP_1>::value;
   cout <<"\nchecking for is_empty template for a structure with one variable: "<< is_empty<TP_2>::value;
   cout <<"\nchecking for is_empty template for a structure with one static variable: "<< is_empty<TP_3>::value;
   cout <<"\nchecking for is_empty template for a structure with constructor: "<< is_empty<TP_4>::value;
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

checking for is_empty template for a structure with no variable: true
checking for is_empty template for a structure with one variable: false
checking for is_empty template for a structure with one static variable: true
checking for is_empty template for a structure with constructor: true

  1. सी++ में () पर स्ट्रिंग

    सार यह संक्षिप्त ट्यूटोरियल C++ स्ट्रिंग क्लास at() . का एक सिंहावलोकन है स्ट्रिंग से वर्णों के अनुक्रम तक पहुँचने के लिए कार्यक्षमता। आगामी खंड में, एक इच्छुक पाठक स्ट्रिंग क्लास प्रोग्रामिंग उदाहरणों के माध्यम से at() के हेरफेर की पूरी समझ प्राप्त कर सकता है। कार्य। स्ट्रिंग क्लास प्रोग्रामिंग श

  1. सी ++ में संरचना बनाम वर्ग

    C++ में संरचना और वर्ग मूल रूप से समान हैं। लेकिन कुछ मामूली अंतर हैं। ये अंतर नीचे की तरह हैं। वर्ग के सदस्य डिफ़ॉल्ट रूप से निजी होते हैं, लेकिन संरचना के सदस्य सार्वजनिक होते हैं। अंतर देखने के लिए आइए इन दो कोडों को देखें। उदाहरण कोड #include <iostream> using namespace std; class my_class

  1. सी ++ में स्थानीय कक्षा

    किसी फ़ंक्शन के अंदर घोषित एक वर्ग को C++ में स्थानीय वर्ग के रूप में जाना जाता है क्योंकि यह उस फ़ंक्शन के लिए स्थानीय होता है। स्थानीय वर्ग का एक उदाहरण इस प्रकार दिया गया है। #include<iostream> using namespace std; void func() {    class LocalClass {    }; } int main()