यह this
के लिए एक "घोषणा" प्रदान करने के लिए असंभव है। सी ++ में एक रैल्यू "घोषित" करने का कोई तरीका नहीं है। और this
एक रैवल्यू है, जैसा कि आप पहले ही जानते हैं।
Lvalueness और rvalueness अभिव्यक्ति के गुण हैं जो इन मानों का उत्पादन करते हैं, न कि घोषणाओं या वस्तुओं के गुण। उस संबंध में, कोई भी तर्क दे सकता है कि एक लवल्यू घोषित करना असंभव है। आप एक वस्तु घोषित करते हैं। जब आप उस ऑब्जेक्ट के नाम को अभिव्यक्ति के रूप में उपयोग करते हैं तो लालू उत्पन्न होता है। उस अर्थ में "एक रावल्यू घोषित करने" और "एक लालसा घोषित करने" दोनों ऑक्सीमोरोन अभिव्यक्तियां हैं।
आपका प्रश्न यह भी सुझाव देता है कि "एक लालसा होने" और "अस्थायी होने" के गुण किसी भी तरह पूरक हैं, यानी सबकुछ माना जाता है कि एक सब कुछ एक अस्थायी या अस्थायी है। हकीकत में, "अस्थायी होने" की संपत्ति का कोई व्यवसाय नहीं है। सभी अभिव्यक्तियां या तो लालसा या राजस्व हैं। और this
एक रावलू होता है।
दूसरी ओर, अस्थायी पहुंचने के तरीके के आधार पर, अस्थायी रूप से, अस्थायी रूप से या अंतराल के रूप में माना जा सकता है।
पीएस नोट, बीटीडब्ल्यू, कि सी ++ में (सी के विपरीत) सामान्य कार्य lvalues हैं।
अनिवार्य 'कोशिश {यह = पागलपन; } पकड़ो (...) {यह = स्पार्टा; } ' – corsiKa
ब्याज से, कौन सा कंपाइलर आपको यह संदेश देता है? –
@ ओली: यदि कोड बदल दिया गया है तो यह = (ए *) 0x12341234; ', वीसी ++ रिपोर्ट" * बाएं ऑपरेंड एल-वैल्यू * होना चाहिए "- इसी तरह का। – ildjarn