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

C ++ में पारित करने वाले पैरामीटर को कैसे अनुकूलित करें: lvalues, rvalues, और सर्वोत्तम प्रथाओं?

2025-02-06 पर पोस्ट किया गया
ब्राउज़ करें:838

] &&& & & & & & & & &]

How to Optimize Parameter Passing in C  : Lvalues, Rvalues, and Best Practices?

पास से गुजरना ] Const के लिए lvalue संदर्भ द्वारा पारित करें:

यह तब चुनें जब फ़ंक्शन को ऑब्जेक्ट की स्थिति को संशोधित किए बिना या एक कॉपी बनाने के लिए देखने की आवश्यकता होती है। फ़ंक्शन मूल ऑब्जेक्ट को संशोधित नहीं करता है और केवल इसे देखने की जरूरत है। यह मौलिक प्रकारों के लिए पसंद किया जाता है, जहां नकल तेजी से होती है। कुशल बाइंडिंग सुनिश्चित करने के लिए, दोनों lvalues ​​और rvalues ​​को संभालने के लिए सही अग्रेषण का उपयोग करें। यह कंपाइलर को पैरामीटर प्रकार के आधार पर सही अधिभार का चयन करने की अनुमति देता है, कोई अनावश्यक प्रतियां या चालें सुनिश्चित करता है। ]

Rvalue संदर्भ

द्वारा क्रेडिटकार्ड पास करें:

:

खाता (std :: स्ट्रिंग नंबर, फ्लोट राशि, क्रेडिटकार्ड && क्रेडिटकार्ड): संख्या (संख्या) , राशि (राशि) , क्रेडिटकार्ड (STD :: फॉरवर्ड (क्रेडिटकार्ड)) {}

यह एक तर्क के रूप में पारित rvalue क्रेडिटकार्ड से एक कदम सुनिश्चित करता है।

, फ्लोट राशि, कॉन्स्ट क्रेडिटकार्ड और क्रेडिटकार्ड): संख्या (संख्या) , राशि (राशि) , क्रेडिटकार्ड (क्रेडिटकार्ड) {} खाता (std :: स्ट्रिंग नंबर, फ्लोट राशि, क्रेडिटकार्ड && क्रेडिटकार्ड): संख्या (संख्या) , राशि (राशि) , क्रेडिटकार्ड (STD :: MOVE (क्रेडिटकार्ड)) {} यह कंपाइलर को सही अधिभार का चयन करने की अनुमति देता है, या तो एक lvalue से कॉपी करना या एक rvalue से आगे बढ़ रहा है। स्पष्टता और दक्षता।

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

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

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

Copyright© 2022 湘ICP备2022001581号-3