इस लेख में हम C++ STL में काम करने, वाक्य रचना और std::is_pointer टेम्पलेट के उदाहरणों पर चर्चा करेंगे।
is_ सूचक एक टेम्पलेट है जो
एक सूचक क्या है?
पॉइंटर्स नॉन-स्टेटिक प्रकार होते हैं जो किसी अन्य प्रकार का पता रखते हैं या दूसरे शब्दों में जो मेमोरी पूल में कुछ मेमोरी लोकेशन की ओर इशारा करते हैं। तारक (*) की सहायता से हम एक सूचक को परिभाषित करते हैं और जब हम उस विशिष्ट स्मृति को संदर्भित करना चाहते हैं जो सूचक धारण कर रहा है तो हम तारक (*) का भी उपयोग करते हैं।
वे प्रकार हैं जिन्हें शून्य के रूप में प्रारंभ किया जा सकता है और बाद में आवश्यकता के अनुसार प्रकार को बदल सकते हैं।
सिंटैक्स
template <class T> is_pod;
पैरामीटर
टेम्प्लेट में केवल T प्रकार का पैरामीटर हो सकता है, और जांच सकता है कि दिया गया प्रकार एक सूचक है या नहीं।
रिटर्न वैल्यू
यह एक बूलियन मान देता है, यदि दिया गया प्रकार एक सूचक चर है, तो सत्य है, और यदि दिया गया प्रकार सूचक नहीं है तो गलत है।
उदाहरण
Input: is_pointer<int>::value; Output: False Input: is_pointer<int*>::value; Output: True
उदाहरण
#include <iostream> #include <type_traits> using namespace std; class TP{ }; int main() { cout << boolalpha; cout << "checking for is_pointer:"; cout << "\nTP: " << is_pointer<TP>::value; cout << "\nTP*: " << is_pointer<TP*>::value; cout << "\nTP&: " << is_pointer<TP&>::value; cout << "\nNull Pointer: "<< is_pointer<nullptr_t>::value; return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
checking for is_pointer: TP: false TP*: true TP&: false Null Pointer: false
उदाहरण
#include <iostream> #include <type_traits> using namespace std; int main() { cout << boolalpha; cout << "checking for is_pointer:"; cout << "\nint: " << is_pointer<int>::value; cout << "\nint*: " << is_pointer<int*>::value; cout << "\nint **: " << is_pointer<int **>::value; cout << "\nint ***: "<< is_pointer<int ***>::value; return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
checking for is_pointer: int: false int*: true Int **: true Int ***: true