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

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

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

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

फंडामेंटल टाइप क्या है?

फंडामेंटल टाइप्स बिल्ट-इन टाइप्स हैं जो कंपाइलर में पहले से घोषित होते हैं। जैसे int, float, char, double, आदि। इन्हें बिल्ट-इन डेटा टाइप्स के रूप में भी जाना जाता है।

वे सभी डेटा टाइप्स जो यूजर-डिफाइंड हैं जैसे: क्लास, एनम, स्ट्रक्चर, रेफरेंस या पॉइंटर्स, फंडामेंटल टाइप का हिस्सा नहीं हैं।

सिंटैक्स

template <class T> is_fundamental;

पैरामीटर्स

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

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

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

उदाहरण

Input: class final_abc; is_fundamental<final_abc>::value; Output: False
Input: is_fundamental<int>::value; Output: True
Input: is_fundamental<int*>::value; Output: False

उदाहरण 1

#include <iostream>
#include <type_traits>
using namespace std;

class TP {
    // TP Body
};

int main() {
    cout << boolalpha;
    cout << "checking for is_fundamental:";
    cout << "\nTP: " << is_fundamental<TP>::value;
    cout << "\nchar : " << is_fundamental<char>::value;
    cout << "\nchar& : " << is_fundamental<char&>::value;
    cout << "\nchar* : " << is_fundamental<char*>::value;
    return 0;
}

आउटपुट

checking for is_fundamental:
TP: false
char : true
char& : false
char* : false

उदाहरण 2

#include <iostream>
#include <type_traits>
using namespace std;

int main() {
    cout << boolalpha;
    cout << "checking for is_fundamental:";
    cout << "\nint: " << is_fundamental<int>::value;
    cout << "\ndouble : " << is_fundamental<double>::value;
    cout << "\nint& : " << is_fundamental<int&>::value;
    cout << "\nint* : " << is_fundamental<int*>::value;
    cout << "\ndouble& : " << is_fundamental<double&>::value;
    cout << "\ndouble* : " << is_fundamental<double*>::value;
    return 0;
}

आउटपुट

checking for is_fundamental:
int: true
double : true
int& : false
int* : false
double& : false
double* : false
  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