इस लेख में हम सी++ एसटीएल में काम करने, वाक्य रचना और 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