इस लेख में हम C++ STL में काम करने, वाक्य रचना और std::is_pod टेम्पलेट के उदाहरणों पर चर्चा करेंगे।
is_ पॉड एक टेम्प्लेट है जो
पीओडी (सादा पुराना डेटा) क्या है?
सादा पुराना डेटा (पीओडी) प्रकार वे प्रकार हैं जो पुरानी सी भाषा में भी हैं। 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