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

सी++ में is_pod टेम्पलेट

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

is_ पॉड एक टेम्प्लेट है जो हेडर फाइल के अंतर्गत आता है। इस टेम्पलेट का उपयोग यह जांचने के लिए किया जाता है कि दिया गया प्रकार T एक POD (सादा-पुराना-डेटा) प्रकार है या नहीं।

पीओडी (सादा पुराना डेटा) क्या है?

सादा पुराना डेटा (पीओडी) प्रकार वे प्रकार हैं जो पुरानी सी भाषा में भी हैं। POD प्रकारों में अदिश प्रकार भी शामिल हैं। पीओडी वर्ग प्रकार वह वर्ग प्रकार है जो दोनों, तुच्छ (जिसे स्थिर रूप से प्रारंभ किया जा सकता है) और मानक लेआउट (जो संरचना और संघ की तरह एक साधारण डेटा संरचना है)।

सिंटैक्स

template <class T> is_pod;

पैरामीटर

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

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

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

उदाहरण

Input: class final_abc{ final_abc(); };
   is_pod<final_abc>::value;
Output: False

Input: is_pod<int>::value;
Output: True

उदाहरण

#include <iostream>
#include <type_traits>
using namespace std;
struct TP_1 {
   int var_1;
};
struct TP_2 {
   int var_2;
   private:
   int var_3;
};
struct TP_3 {
   virtual void dummy();
};
int main() {
   cout << boolalpha;
   cout << "checking for is_pod:";
   cout << "\nTP_1: " << is_pod<TP_1>::value;
   cout << "\nTP_2: " << is_pod<TP_2>::value;
   cout << "\nTP_3: " << is_pod<TP_3>::value;
   return 0;
}

आउटपुट

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

checking for is_pod:
TP_1: true
TP_2: false
TP_3: false

उदाहरण

#include <iostream>
#include <type_traits>
using namespace std;
class TP_1 {
   int var_1;
};
class TP_2 {
   int var_2;
   private:
   int var_3;
};
class TP_3 {
   virtual void dummy();
};
int main() {
   cout << boolalpha;
   cout << "checking for is_pod:";
   cout << "\nTP_1: " << is_pod<TP_1>::value;
   cout << "\nTP_2: " << is_pod<TP_2>::value;
   cout << "\nTP_3: " << is_pod<TP_3>::value;
   return 0;
}

आउटपुट

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

checking for is_pod:
TP_1: true
TP_2: true
TP_3: false

  1. फैब्स () सी ++ में

    सी या सी ++ लाइब्रेरी फ़ंक्शन डबल फैब्स (डबल एक्स) एक्स का पूर्ण मान देता है। x− यह फ्लोटिंग पॉइंट वैल्यू है। यह फ़ंक्शन x का निरपेक्ष मान लौटाता है। निम्नलिखित fabs() फ़ंक्शन के लिए घोषणा है। double fabs(double x) निम्न उदाहरण fabs() फ़ंक्शन के उपयोग को दर्शाता है। उदाहरण #include <iostream>

  1. Expm1 () सी ++ में

    फ़ंक्शन expm1() का उपयोग किसी भी संख्या घटाकर एक की घात तक बढ़ाए गए घातांक की गणना के लिए किया जाता है। यह (ए की घात में बढ़ाए गए घातांक) का मान लौटाता है - 1. यहाँ Expm1(), . का गणितीय व्यंजक है expm1(a) = (e^a) - 1 यहाँ C++ भाषा में expm1() का सिंटैक्स दिया गया है, float expm1(variable_name); य

  1. log1p () सी++ में

    फ़ंक्शन log1p() का उपयोग (a+1) के प्राकृतिक लघुगणक (आधार ई लघुगणक) की गणना के लिए किया जाता है, जहां a कोई भी संख्या है। यह (a+1) के प्राकृतिक लघुगणक का मान लौटाता है। जब हम -1 से कम मान पास करते हैं तो यह एक संख्या नहीं (नैन) देता है। यहाँ log1p(), . का गणितीय व्यंजक है log1p(a) = base-e log(a+1)