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

C++ में rvalues, lvalues, xvalues, glvalues, और prvalues क्या हैं?


  • एक lvalue का एक एड्रेस होता है जिसे आपका प्रोग्राम एक्सेस कर सकता है। lvalue एक्सप्रेशंस के उदाहरणों में वेरिएबल नाम शामिल हैं, जिसमें const वेरिएबल्स, ऐरे एलिमेंट्स, lvalue रेफरेंस लौटाने वाले फंक्शन कॉल्स, बिट-फील्ड्स, यूनियन्स, और क्लास मेंबर्स शामिल हैं।
  • एक xvalue एक्सप्रेशन का कोई एड्रेस नहीं होता लेकिन इसका उपयोग rvalue रेफरेंस को इनिशियलाइज़ करने के लिए किया जा सकता है, जो एक्सप्रेशन तक पहुंच प्रदान करता है। उदाहरणों में rvalue रेफरेंस लौटाने वाले फंक्शन कॉल्स, ऐरे सबस्क्रिप्ट, आदि शामिल हैं।
  • एक glvalue ("जनरलाइज़्ड" lvalue) एक lvalue या एक xvalue होता है।
  • एक rvalue (तथाकथित, ऐतिहासिक रूप से, क्योंकि rvalues असाइनमेंट एक्सप्रेशन के दाईं ओर दिखाई दे सकते थे) एक xvalue, एक टेम्पररी ऑब्जेक्ट या उसका सबऑब्जेक्ट, या ऐसा मान होता है जो किसी ऑब्जेक्ट से संबद्ध नहीं है।
  • एक prvalue एक्सप्रेशन का कोई एड्रेस नहीं होता जिसे आपका प्रोग्राम एक्सेस कर सके। prvalue एक्सप्रेशंस के उदाहरणों में लिटरल्स, नॉन-रेफरेंस टाइप लौटाने वाले फंक्शन कॉल्स शामिल हैं।
  1. - C++ में ऑपरेटर ओवरलोडिंग के बुनियादी नियम और मुहावरे

    जब C++ में ऑपरेटर ओवरलोडिंग की बात आती है, तो 3 बुनियादी नियम हैं जिनका आपको पालन करना चाहिए। सभी ऐसे नियमों की तरह, अपवाद भी हैं। ये 3 नियम हैं: 1. जब भी किसी ऑपरेटर का अर्थ स्पष्ट रूप से स्पष्ट और निर्विवाद नहीं होता, तो इसे ओवरलोड नहीं किया जाना चाहिए। इसके बजाय, एक अच्छे चुने हुए नाम के साथ एक

  1. - C++ में साइन्ड और अनसाइन्ड कीवर्ड्स

    C++ में सभी नंबर टाइप्स या तो साइन वाले हो सकते हैं या नहीं। उदाहरण के लिए, आप एक int घोषित कर सकते हैं जो केवल पॉजिटिव इंटीजर्स को दर्शाता है। जब तक अन्यथा निर्दिष्ट न हो, सभी इंटीजर डेटा टाइप्स साइन्ड डेटा टाइप्स होते हैं, यानी उनके मान पॉजिटिव या नेगेटिव हो सकते हैं। अनसाइन्ड कीवर्ड का उपयोग बिना

  1. - C# में rvalue और lvalue क्या हैं?

    C# में अभिव्यक्तियों के निम्नलिखित प्रकार हैं:lvalue - एक अभिव्यक्ति जो एक lvalue है, असाइनमेंट के बाएं या दाएं हाथ की ओर दिखाई दे सकती है।rvalue - एक अभिव्यक्ति जो एक rvalue है, असाइनमेंट के दाएं हाथ की ओर दिखाई दे सकती है लेकिन बाएं हाथ की ओर नहीं।वेरिएबल्स lvalues हैं और इसलिए वे असाइनमेंट के बाए