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

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

इस लेख में हम C++ STL में std::is_lvalue_reference टेम्पलेट के कार्य, सिंटैक्स और उदाहरणों पर चर्चा करेंगे।

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

lvalue क्या है?

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

Lvalue रेफरेंस क्या है?

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

उदाहरण

int& a;

सिंटैक्स

template <class T> is_lvalue_reference;

पैरामीटर्स

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

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

यह एक बूलियन मान लौटाता है, यदि दिया गया मान lvalue रेफरेंस है तो true, और यदि दिया गया मान lvalue रेफरेंस नहीं है या जब हम अज्ञात स्थान को संदर्भित कर रहे हों तो false।

उदाहरण

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

उदाहरण 1

#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

उदाहरण 2

#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. - C++ में fabs() फ़ंक्शन

    C या C++ लाइब्रेरी फ़ंक्शन double fabs(double x) x का निरपेक्ष मान (absolute value) लौटाता है। x एक फ्लोटिंग पॉइंट मान है। यह फ़ंक्शन x का निरपेक्ष मान लौटाता है। fabs() फ़ंक्शन के लिए घोषणा निम्नलिखित है। double fabs(double x) उदाहरण #include <iostream> #include <cmath> using namespac

  1. - C++ में expm1() फ़ंक्शन

    expm1() फ़ंक्शन का उपयोग किसी भी संख्या की घात में एक्सपोनेंशियल घटा एक की गणना के लिए किया जाता है। यह (e की घात a) - 1 का मान लौटाता है। गणितीय अभिव्यक्ति expm1(a) = (e^a) - 1 C++ में सिंटैक्स float expm1(variable_name); पैरामीटर्स: variable_name - जिस वेरिएबल का मान गणना किया जाना है, उसे दिय

  1. - C++ में log1p() फ़ंक्शन

    log1p() फ़ंक्शन का उपयोग किसी भी संख्या a के लिए (a+1) के नेचुरल लॉगरिदम (आधार e लॉगरिदम) की गणना के लिए किया जाता है। यह (a+1) के नेचुरल लॉगरिदम का मान लौटाता है। जब हम -1 से कम मान पास करते हैं तो यह NaN (नॉट ए नंबर) लौटाता है। गणितीय अभिव्यक्ति log1p(a) = base-e log(a+1) C++ में सिंटैक्स float