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

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

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

is_ हस्ताक्षरित एक टेम्प्लेट है जो हेडर फ़ाइल के अंतर्गत आता है। इस टेम्पलेट का उपयोग यह जांचने के लिए किया जाता है कि दिया गया प्रकार T एक हस्ताक्षरित प्रकार है या नहीं।

हस्ताक्षरित प्रकार क्या है?

ये बुनियादी अंकगणितीय प्रकार हैं, जिनमें उनके साथ साइन वैल्यू शामिल है। सभी अंकगणितीय डेटा प्रकार या तो हस्ताक्षरित और अहस्ताक्षरित हैं।

जैसे हम मूल्यों को नकारात्मक में दिखाना चाहते हैं, हम हस्ताक्षरित प्रकार का उपयोग करते हैं।

जैसे:-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

  1. C++ . में विकर्ण ट्रैवर्स II

    मान लीजिए कि हमारे पास nums नामक सूचियों की एक सूची है, हमें अंकों के सभी तत्वों को विकर्ण क्रम में दिखाना होगा। तो, अगर इनपुट पसंद है तो आउटपुट [1,6,2,8,7,3,9,4,12,10,5,13,11,14,15,16] होगा इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - एक सरणी रिट परिभाषित करें एक 2डी सरणी को परिभाषित

  1. सी ++ में प्रक्रिया को मारें

    मान लीजिए कि हमारे पास n प्रक्रियाएं हैं, यहां प्रत्येक प्रक्रिया की एक विशिष्ट आईडी होती है जिसे PID या प्रक्रिया आईडी कहा जाता है और उसका PPID (पैरेंट प्रोसेस आईडी) भी होता है। प्रत्येक प्रक्रिया में केवल एक पैरेंट प्रक्रिया होती है, लेकिन इसमें एक या अधिक चाइल्ड प्रक्रियाएं हो सकती हैं। यह एक प

  1. सी ++ में गिलहरी सिमुलेशन

    एक पेड़, एक गिलहरी, और कई नट हैं। स्थितियों को 2डी ग्रिड में कोशिकाओं द्वारा दर्शाया जाता है। आपका लक्ष्य गिलहरी के लिए सभी नटों को इकट्ठा करने और उन्हें एक-एक करके पेड़ के नीचे रखने के लिए न्यूनतम दूरी का पता लगाना है। गिलहरी एक समय में केवल एक अखरोट ले सकती है और चार दिशाओं में - ऊपर, नीचे, बाएँ औ