2017-06-21 14 views
6

रावलों को अंतराल में परिवर्तित करना क्यों संभव नहीं है? यद्यपि विपरीत दिशा में रूपांतरण करना संभव है। तकनीकी रूप से राजस्व में स्मृति पता होता है, है ना?लालू रूपांतरण के लिए रावल?

+8

सोचा प्रयोग: 'पूर्णांक एक्स = 1;' - 1 यहाँ एक rvalue है। क्या शाब्दिक 1 में स्मृति पता है? क्या आप अपना पता प्राप्त करने के लिए '& 1' कर सकते हैं? – cdhowie

+0

एक समारोह में एक रैवल्यू पास करें। गंभीरता से हालांकि अभिव्यक्ति के अंत में रावलू अस्तित्व में रहेगा, जहां इसकी पहुंच प्राप्त की गई थी, जिससे आपको एक खतरनाक सूचक के साथ छोड़ दिया गया था। –

+0

@cdhowie क्यों 'const int और bon = 2;' संभव है? –

उत्तर

0

मैं सोच रहा था कि राजस्व को अंतराल में परिवर्तित करना क्यों संभव नहीं है?

क्योंकि भाषा इसे अनुमति नहीं देती है। उन चीजों में से एक जो लालसा के अंतराल को बनाता है वह है कि उनके पास पहचान है। राजस्व नहीं है, क्योंकि उनके पास कोई नाम नहीं है, जिससे पहले से ही लालसा के गुणों का उल्लंघन हो जाएगा।

क्या आप फिर भी अपने जीवनकाल में वृद्धि से एक rvalue एक पहचान देने के कर सकते हैं:

auto&& val = f(); // 'f' returns a prvalue. 
संबंधित मुद्दे