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

सी++ में is_rvalue_reference टेम्पलेट

इस लेख में हम C++ STL में काम करने, वाक्य रचना और std::is_rvalue_reference टेम्पलेट के उदाहरणों पर चर्चा करेंगे। C++ में is_rvalue_reference टेम्प्लेट का उपयोग यह जांचने के लिए किया जाता है कि परिभाषित प्रकार एक प्रतिद्वंद्विता संदर्भ है या नहीं।

प्रतिद्वंद्विता क्या है?

मूल्य वे मान हैं जो एक असाइनमेंट ऑपरेटर के दाईं ओर होते हैं। प्रतिद्वंद्विता मूल्य हैं

प्रतिद्वंद्विता संदर्भ क्या है?

रावल्यू संदर्भ की पहचान डबल एम्परसेंड प्रतीक (&&) द्वारा की जाती है। इसका उपयोग इसे केवल रावल्यू मान के साथ प्रारंभ करने के लिए किया जाता है।

सिंटैक्स

int&& a;

सिंटैक्स

template <class T> is_rvalue_reference;

पैरामीटर

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

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

यह एक बूलियन मान देता है, यदि दिया गया मान एक प्रतिद्वंद्विता संदर्भ है, और गलत है यदि दिया गया मान एक प्रतिद्वंद्विता संदर्भ नहीं है या जब हम किसी अज्ञात स्थान का संदर्भ दे रहे हैं।

उदाहरण

Input: is_rvalue<int&>::value;
Output: False

Input: is_rvalue<int&&>::value;
Output: True

उदाहरण

#include <iostream>
#include <type_traits>
using namespace std;
int main() {
   cout << std::boolalpha;
   cout << "Checking for is_lvalue_reference: ";
   cout << "\nint : "<<is_rvalue_reference<int>::value;
   cout << "\nint& : "<< is_rvalue_reference<int&>::value;
   cout << "\nint&&: "<< is_rvalue_reference<int&&>::value;
   cout << "\nchar : "<<is_rvalue_reference<char>::value;
   cout << "\nchar& : "<< is_rvalue_reference<char&>::value;
   cout << "\nchar&&: "<< is_rvalue_reference<char&&>::value;
   cout << "\nfloat : "<<is_rvalue_reference<float>::value;
   cout << "\nfloat& : "<< is_rvalue_reference<float&>::value;
   cout << "\nfloat&&: "<< is_rvalue_reference<float&&>::value;
   cout << "\ndouble : "<<is_rvalue_reference<double>::value;
   cout << "\ndouble& : "<< is_rvalue_reference<double&>::value;
   cout << "\ndouble&&: "<< is_rvalue_reference<double&&>::value;
   return 0;
}

आउटपुट

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

Checking for is_rvalue_reference:
int : false
int& : false
int&&: ture
char : false
char& : false
char&&: ture
float : false
float& : false
float&&: ture
double: false
double : false
double&&: ture
के लिए जाँच कर रहा है

उदाहरण

#include <iostream>
#include <type_traits>
using namespace std;
class TP {
};
int main() {
   cout << std::boolalpha;
   cout << "Checking for is_lvalue_reference: ";
   cout << "\nTP class : "<<is_rvalue_reference<TP>::value;
   cout << "\nTP& : "<< is_rvalue_reference<TP&>::value;
   cout << "\nTP&&: "<< is_rvalue_reference<TP&&>::value;
   return 0;
}

आउटपुट

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

Checking for is_rvalue_reference:
TP class : false
TP& : false
TP&&: true

  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)