इस लेख में हम सी++ एसटीएल में काम करने, वाक्य रचना और std::is_signed टेम्पलेट के उदाहरणों पर चर्चा करेंगे।
is_ हस्ताक्षरित एक टेम्प्लेट है जो
हस्ताक्षरित प्रकार क्या है?
ये बुनियादी अंकगणितीय प्रकार हैं, जिनमें उनके साथ साइन वैल्यू शामिल है। सभी अंकगणितीय डेटा प्रकार या तो हस्ताक्षरित और अहस्ताक्षरित हैं।
जैसे हम मूल्यों को नकारात्मक में दिखाना चाहते हैं, हम हस्ताक्षरित प्रकार का उपयोग करते हैं।
जैसे:-1 हस्ताक्षरित इंट है और -1.009 फ़्लोट हस्ताक्षरित है।
डिफ़ॉल्ट रूप से सभी प्रकार हस्ताक्षरित होते हैं ताकि उन्हें अहस्ताक्षरित किया जा सके हमें डेटा प्रकार को अहस्ताक्षरित करके उपसर्ग करना होगा।
सिंटैक्स
template <class T> is_signed;
पैरामीटर
टेम्प्लेट में केवल T प्रकार का पैरामीटर हो सकता है, और जाँच करें कि T एक हस्ताक्षरित प्रकार है या नहीं।
रिटर्न वैल्यू
यह एक बूलियन मान देता है, यदि दिया गया प्रकार एक हस्ताक्षरित प्रकार है, तो सत्य है और यदि दिया गया प्रकार हस्ताक्षरित प्रकार नहीं है तो गलत है।
उदाहरण
Input: is_signed<int>::value; Output: True Input: is_signed<unsigned int>::value; Output: False
उदाहरण
#include <iostream> #include <type_traits> using namespace std; class TP { }; enum TP_1 : int {}; enum class TP_2 : int {}; int main() { cout << boolalpha; cout << "checking for is_signed:"; cout << "\nint:" << is_signed<int>::value; cout << "\nTP:" << is_signed<TP>::value; cout << "\nTP_1:" << is_signed<TP_1>::value; cout << "\nTP_2:" << is_signed<TP_2>::value; return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
checking for is_signed: Int: true TP: false TP_1: false TP_2: false
उदाहरण
#include <iostream> #include <type_traits> using namespace std; int main() { cout << boolalpha; cout << "checking for is_signed:"; cout << "\nfloat:" << is_signed<float>::value; cout << "\nSigned int:" << is_signed<signed int>::value; cout << "\nUnsigned int:" << is_signed<unsigned int>::value; cout << "\ndouble:" << is_signed<double>::value; return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
checking for is_signed: Float: true Signed int: true Unsigned int: false Double: true