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

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

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

is_pointer एक टेम्पलेट है जो <type_traits> हेडर फाइल के अंतर्गत आता है। यह टेम्पलेट जांचता है कि दिया गया टाइप T एक पॉइंटर टाइप है या नहीं।

पॉइंटर क्या है?

पॉइंटर्स नॉन-स्टेटिक टाइप्स हैं जो किसी अन्य टाइप का पता रखते हैं या दूसरे शब्दों में जो मेमोरी पूल में किसी मेमोरी लोकेशन की ओर इशारा करते हैं। एस्टरिस्क (*) की मदद से हम पॉइंटर को परिभाषित करते हैं और जब हम उस विशिष्ट मेमोरी को संदर्भित करना चाहते हैं जिसे पॉइंटर होल्ड कर रहा है तो हम एस्टरिस्क (*) का भी उपयोग करते हैं।

वे टाइप हैं जिन्हें null के रूप में इनिशियलाइज़ किया जा सकता है और आवश्यकता के अनुसार बाद में टाइप बदल सकते हैं।

सिंटैक्स

template <class T> is_pointer;

पैरामीटर्स

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

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

यह एक बूलियन मान लौटाता है, यदि दिया गया टाइप पॉइंटर वेरिएबल है तो true, और यदि दिया गया टाइप पॉइंटर नहीं है तो false।

उदाहरण

Input: is_pointer<int>::value; Output: False
Input: is_pointer<int*>::value; Output: True

उदाहरण 1

#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

उदाहरण 2

#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
  1. - C++ में fabs() फ़ंक्शन

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

  1. - C++ में expm1() फ़ंक्शन

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

  1. - C++ में log1p() फ़ंक्शन

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