"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > कॉन्स्ट सन्दर्भ C++ में अस्थायी लोगों का जीवनकाल क्यों बढ़ाते हैं?

कॉन्स्ट सन्दर्भ C++ में अस्थायी लोगों का जीवनकाल क्यों बढ़ाते हैं?

2024-11-07 को प्रकाशित
ब्राउज़ करें:207

Why Do Const References Extend the Lifetime of Temporaries in C  ?

Const References द्वारा Rvalue लाइफटाइम का विस्तार

C में, const संदर्भ न केवल अपरिवर्तनीय उपनामों के रूप में काम करते हैं बल्कि अस्थायी लोगों के जीवनकाल का विस्तार भी करते हैं। सी समिति ने इस व्यवहार को लागू करने का निर्णय क्यों लिया?

इस सुविधा का एक तर्क कक्षाओं और कार्यों से कार्यान्वयन विवरण छिपाना है। एक मैट्रिक्स वर्ग पर विचार करें जो पंक्ति वैक्टर या कॉलम वैक्टर लौटा सकता है। प्रदर्शन को अनुकूलित करने के लिए, वर्ग अपने पंक्ति-प्रमुख या स्तंभ-प्रमुख संगठन के आधार पर आंतरिक मूल्य का संदर्भ वापस करना चुन सकता है। ग्राहकों को रिटर्न मानों को कॉन्स्ट संदर्भ के रूप में स्वीकार करने की आवश्यकता होने से, वर्ग संदर्भों और मूल्यों के बीच निर्बाध रूप से स्विच कर सकता है, जिससे ग्राहकों को कार्यान्वयन विवरण से बचाया जा सकता है। सन्दर्भों को 1993 में अस्थायी रूप से संभाला गया। उस समय, आरवीओ (रिटर्न वैल्यू ऑप्टिमाइज़ेशन) मौजूद नहीं था। अस्थायी लोगों को संदर्भों से बांधने पर रोक लगाने से प्रदर्शन पर काफी जुर्माना लगेगा। इस प्रकार, समिति ने एक ऐसे समाधान का विकल्प चुना जो संदर्भ उपयोग के दौरान उनकी उपलब्धता सुनिश्चित करने के लिए अस्थायी लोगों के जीवनकाल का विस्तार करते हुए बंधन की अनुमति देता है।

यह तर्क प्रस्ताव N0345.pdf में प्रलेखित है, जो 1993 में सी मानक समिति को प्रस्तुत किया गया था। प्रतिमूल्यों के जीवनकाल को बढ़ाकर, स्थिरांक संदर्भ बेहतर अमूर्तता की सुविधा प्रदान करते हैं, कोड लचीलेपन को बनाए रखते हैं, और फ़ंक्शन से ऑब्जेक्ट वापस करते समय प्रदर्शन को अनुकूलित करते हैं।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3