मुझे एक कक्षा लिखने की आवश्यकता है जिसका निर्माता किसी ऑब्जेक्ट का निरंतर संदर्भ लेता है और इसे स्थानीय रूप से संग्रहीत करता है।सी ++: गैर अस्थायी कॉन्स संदर्भ
सबसे आम गलतियों से बचने के लिए मैं पूर्ववत कर सकता हूं, मैं केवल अस्थायी (यानी: lvalues के संदर्भ) के संदर्भ स्वीकार करना चाहता हूं।
मैं एक ऐसा फ़ंक्शन कैसे लिख सकता हूं जो केवल अस्थायी संदर्भों को निरंतर संदर्भित करता हो?
पाठ्यक्रम भी एक गैर अस्थायी क्षेत्र से बाहर जाने के लिए और इस प्रकार मेरी कक्षा व्यवहार बाधित कर सकता है के
, लेकिन मुझे विश्वास है कि अस्थायी संदर्भ अनुमति न देने से मैं सबसे गलतियों से बचने होगा।
आपको ऐसा क्यों लगता है कि आप इस तरह की अधिकांश गलतियों से बचें? –
ठीक है, जिस वस्तु का संदर्भ मुझे पास करने की आवश्यकता है उसे तुरंत चालू करने के बाद उपयोग करने की आवश्यकता नहीं है (यानी: मैं बस ऑब्जेक्ट को तुरंत चालू करता हूं और इसे पास करता हूं, इस प्रकार मेरी कोड शैली के कारण मैं इसे स्टैक पर तुरंत नहीं चालू करता)। अगर मैं भूल जाता हूं कि अन्य वर्ग के निर्माता को _permanent_ मान की आवश्यकता है, अस्थायी अस्वीकार (यानी: संकलित समय त्रुटि) को देखते हुए मुझे याद आएगा, मुझे उम्मीद है। – peoro