c++ - Are there any performance differences between std::copy and the container's copy constructor? -


std :: copy एक अधिक सामान्य दृष्टिकोण है क्योंकि यह भिन्न मूल्य प्रकारों के साथ कंटेनरों को संभाल सकता है ( जैसे std :: vector & lt; float & gt; से std :: vector :: & lt; double & gt; ) से कॉपी करें। लेकिन जब कंटेनरों दोनों के लिए वैल्यू टाइप समान होता है, तो क्या इससे कोई फर्क नहीं पड़ता कि क्या मैं std :: copy के बजाय प्रतिलिपि कन्स्ट्रक्टर का उपयोग करता हूं

प्रदर्शन के बारे में चिंता न करें, वे सभी सुपर बंद होनी चाहिए इसके बजाय:

  • यदि आप एक नया कंटेनर बना रहे हैं, तो प्रतिलिपि कन्स्ट्रक्टर या दो-इटरेटर कन्स्ट्रक्टर का उपयोग करें (यदि अलग तत्व प्रकार)।
  • फिर से एक मौजूदा कंटेनर की जगह (निर्दिष्ट), उपयुक्त असाइनमेंट ऑपरेटर या असाइन करें सदस्य का उपयोग करें।
  • यदि आप तत्वों के एक सबसेट को बदल रहे हैं, तो std :: copy

आप जो भी करने की कोशिश कर रहे हैं उसे सही तरीके से प्रस्तुत करने के द्वारा, आप कंपाइलर को अपने कोड को अनुकूलित करने के लिए सबसे संभावित जानकारी देते हैं (उदाहरण के लिए निर्माण सीधे एक मौजूदा कंटेनर से, यह स्मृति के बारे में बिल्कुल ठीक पहले आवंटित कर सकता है)।


Comments

Popular posts from this blog

apache - 504 Gateway Time-out The server didn't respond in time. How to fix it? -

c# - .net WebSocket: CloseOutputAsync vs CloseAsync -

c++ - How to properly scale qgroupbox title with stylesheet for high resolution display? -