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

is_arithmetic Template in C++

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

is_arithmetic टेम्प्लेट यह जांचने में मदद करता है कि दिया गया वर्ग T अंकगणितीय प्रकार का है या नहीं।

अंकगणित प्रकार क्या है?

अंकगणित प्रकार में दो प्रकार होते हैं, जो हैं

  • अभिन्न प्रकार - इसमें हम पूर्ण संख्याओं को परिभाषित करते हैं। निम्नलिखित प्रकार के अभिन्न प्रकार हैं -

    • चार
    • बूल
    • इंट
    • लंबी
    • संक्षिप्त
    • लंबा लंबा
    • wchar_t
    • char16_t
    • char32_t
  • फ़्लोटिंग पॉइंट प्रकार - इनमें भिन्नात्मक भाग हो सकते हैं। फ्लोटिंग पॉइंट के प्रकार निम्नलिखित हैं।

    • फ्लोट
    • डबल
    • लॉन्ग डबल

तो, टेम्पलेट is_arithmatic जाँचता है कि परिभाषित प्रकार T एक अंकगणितीय प्रकार है या नहीं और तदनुसार सही या गलत लौटाता है।

सिंटैक्स

template <class T> is_arithmetic;

पैरामीटर

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

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

यह फ़ंक्शन एक बूल प्रकार मान देता है, जो या तो सत्य या गलत हो सकता है। यदि दिया गया प्रकार अंकगणितीय है और यदि प्रकार अंकगणित नहीं है तो यह सही है।

उदाहरण

Input: is_arithmetic<bool>::value;
Output: True

Input: is_arithmetic<class_a>::value;
Output: false

उदाहरण

#include <iostream>
#include <type_traits>
using namespace std;
class TP {
};
int main() {
   cout << boolalpha;
   cout << "checking for is_arithmetic template:";
   cout << "\nTP class : "<< is_arithmetic<TP>::value;
   cout << "\n For Bool value: "<< is_arithmetic<bool>::value;
   cout << "\n For long value : "<< is_arithmetic<long>::value;
   cout << "\n For Short value : "<< is_arithmetic<short>::value;
   return 0;
}

आउटपुट

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

checking for is_arithmetic template:
TP class : false
For Bool value: true
For long value : true
For Short value : true

उदाहरण

#include <iostream>
#include <type_traits>
using namespace std;
int main() {
   cout << boolalpha;
   cout << "checking for is_arithmetic template:";
   cout << "\nInt : "<< is_arithmetic<int>::value;
   cout << "\nchar : "<< is_arithmetic<char>::value;
   cout << "\nFloat : "<< is_arithmetic<float>::value;
   cout << "\nDouble : "<< is_arithmetic<double>::value;
   cout << "\nInt *: "<< is_arithmetic<int*>::value;
   cout << "\nchar *: "<< is_arithmetic<char*>::value;
   cout << "\nFloat *: "<< is_arithmetic<float*>::value;
   cout << "\nDouble *: "<< is_arithmetic<double*>::value;
   return 0;
}

आउटपुट

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

checking for is_arithmetic template:
Int : true
Char : true
Float : true
Double : true
Int * : float
Char *: float
Float *: float
Double *: float

  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)