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

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

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

C++ में is_lvalue_reference टेम्प्लेट का उपयोग यह जांचने के लिए किया जाता है कि परिभाषित प्रकार एक लैवल्यू संदर्भ है या नहीं।

एक अंतराल क्या है?

Lvalues ​​​​वे मान हैं जो असाइनमेंट ऑपरेटर के बाईं ओर हैं। Lvalues ​​वे भाव हैं जो स्मृति स्थान को संदर्भित करते हैं।

Lvalue संदर्भ क्या है?

लवल्यू संदर्भ एक संदर्भ है जो एक लाभा को बांधता है। यह बहुत हद तक उसी तरह है जैसे हम पारंपरिक C++ या C भाषा में एक चर का उल्लेख करते थे, यानी अपने पते को संदर्भित करने के लिए चर के साथ एम्परसेंड प्रतीक (&) का उपयोग करके।

उदाहरण

int& a;

सिंटैक्स

template <class T> is_lvalue_reference;

पैरामीटर

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

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

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

उदाहरण

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

Input: is_lvalue<int>::value;
Output: False

उदाहरण

#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_lvalue_reference<TP>::value;
   cout << "\nTP& : "<< is_lvalue_reference<TP&>::value;
   cout << "\nTP&&: "<< is_lvalue_reference<TP&&>::value;
   return 0;
}

आउटपुट

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

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

उदाहरण

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

आउटपुट

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

Checking for is_lvalue_reference:
int : false
int& : true
int&&: false
char : false
char& : true
char&&: false
float : false
float& : true
float&&: false
double: false
double : true
double&&: false
के लिए जाँच कर रहा है।
  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)