इस लेख में हम C++ STL में काम करने, वाक्य रचना और std::is_scalar टेम्पलेट के उदाहरणों पर चर्चा करेंगे।
is_scalar एक टेम्प्लेट है जो
यह टेम्पलेट is_arithmetic, is_pointer, is_enum, is_member_pointer या is_same का एक संयोजन है और यह जांचता है कि दोनों में से कोई एक सत्य है या नहीं, is_scalar का परिणाम भी सत्य होगा।
C++ में एक अदिश प्रकार क्या है?
अदिश प्रकार वह वस्तु है जो न तो वर्ग प्रकार है और न ही सरणी प्रकार। एक अदिश प्रकार एक प्रकार है जिसमें बिना किसी ओवरलोडिंग के अतिरिक्त ऑपरेटर के लिए अंतर्निहित कार्यक्षमता होती है।
सिंटैक्स
template <class T> is_scalar;
पैरामीटर
टेम्प्लेट में केवल T प्रकार का पैरामीटर हो सकता है, और जांच सकता है कि दिया गया प्रकार एक अदिश प्रकार है या नहीं।
रिटर्न वैल्यू
यह एक बूलियन मान देता है, यदि दिया गया प्रकार एक अदिश प्रकार है, तो सत्य है, और यदि दिया गया प्रकार एक अदिश प्रकार नहीं है, तो यह गलत है।
उदाहरण
Input: is_scalar<int>::value; Output: True Input: is_scalar<A>::value; //assuming A is an object of a class. Output: False
उदाहरण
#include <iostream> #include <type_traits> using namespace std; int main() { class TP { }; cout << boolalpha; cout << "checking for is_scalar: "; cout << "\nint(TP::*): "<< is_scalar<int(TP::*)>::value; cout << "\nint *: "<< is_scalar<int*>::value; cout << "\nbool: "<< is_scalar<bool>::value; cout << "\nint(int): "<< is_scalar<int(int)>::value; return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
checking for is_scalar: int(TP::*): true int *: true bool: true int(int): false
उदाहरण
#include <iostream> #include <type_traits> using namespace std; int main() { class TP { }; enum class TP_1 { var_1, var_2, var_3, var4 }; cout << boolalpha; cout << "checking for is_scalar: "; cout << "\nTP : "<< is_scalar<int(TP)>::value; cout << "\nTP_1: "<< is_scalar<TP_1>::value; cout << "\nint[10] "<< is_scalar<int[10]>::value; cout << "\nint&: "<< is_scalar<int&>::value; cout << "\nchar&: "<< is_scalar<char&>::value; return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
checking for is_scalar: TP : false TP_1: true int[10] false int&: false char&: false