आप इसके बारे में चिंता करने के लिए नहीं हैं, इस अर्थ में कि जब आप उपयोगकर्ता को विनाशक घोषित करते हैं (या 12.8/9 में सूचीबद्ध कुछ भी), जो डिफ़ॉल्ट चालक कन्स्ट्रक्टर को उत्पन्न होने से अवरुद्ध करता है। तो प्रतियों के साथ समान जोखिम नहीं है, कि डिफ़ॉल्ट गलत है।
तो, जैसा कि पहला पास उन्हें अकेला छोड़ देता है। आपके मौजूदा कोड में ऐसे स्थान हो सकते हैं जहां सी ++ 11 मूव सेमेन्टिक्स एक चाल की अनुमति दें, जबकि सी ++ 03 एक प्रतिलिपि को निर्देशित करता है। आपकी कक्षा की प्रतिलिपि जारी रहेगी, और यदि इससे सी ++ 03 में कोई प्रदर्शन समस्या नहीं हुई है तो मैं तुरंत किसी भी कारण से नहीं सोच सकता कि यह सी ++ 11 में क्यों होगा। यदि यह C++ 03 में प्रदर्शन समस्याओं का कारण बनता है, तो आपके पास अपने कोड में एक बग को ठीक करने का अवसर होता है जिसे आप पहले कभी नहीं मिला था, लेकिन यह एक अवसर है, दायित्व नहीं ;-)
यदि आप बाद में चाल निर्माण और असाइनमेंट को कार्यान्वित करें, उन्हें स्थानांतरित किया जाएगा, और विशेष रूप से आप ऐसा करना चाहेंगे यदि आपको लगता है कि आपकी कक्षा के सी ++ 11 क्लाइंट प्रतियों से बचने के लिए "स्वैपटाइजेशन" का उपयोग करने की संभावना कम हैं, तो आपके पास पास होने की अधिक संभावना है सी ++ 03 क्लाइंट की तुलना में मूल्य, आदि द्वारा टाइप करें।
सी ++ 11 में नई कक्षाएं लिखते समय, आपको उसी मानदंड के तहत कदम पर विचार करने और लागू करने की आवश्यकता है जिसे आपनेसी ++ 03 में लागू किया था। एक वर्ग जिसे कॉपी किया जा सकता है "movable" की सी ++ 11 अवधारणा को लागू करता है, (सी ++ 03 में प्रतिलिपि बनाई जा सकने वाली कक्षा के रूप में std
में डिफ़ॉल्ट कार्यान्वयन के माध्यम से बदला जा सकता है), क्योंकि "चलने योग्य" नहीं है कहें कि स्रोत किस राज्य में छोड़ा गया है - विशेष रूप से इसे अपरिवर्तित होने की अनुमति है। तो एक प्रति एक चाल के रूप में मान्य है, यह केवल एक कुशल व्यक्ति नहीं है, और कई कक्षाओं के लिए आप पाएंगे कि "अच्छा" चाल या स्वैप के विपरीत, एक प्रति फेंक सकती है।
आपको लगता है कि आपको अपने वर्गों के लिए एक विध्वंसक (इसलिए कोई डिफ़ॉल्ट चाल कन्स्ट्रक्टर नहीं है) में आपके वर्गों के लिए कदम लागू करना होगा, और आपके पास एक डेटा सदस्य भी है जो चलने योग्य नहीं है लेकिन कॉपी करने योग्य नहीं है (इसलिए कोई डिफ़ॉल्ट प्रतिलिपि नहीं है या तो)। वह तब होता है जब आंदोलन महत्वपूर्ण रूप से प्रदर्शन के साथ-साथ महत्वपूर्ण हो जाता है।
स्रोत
2011-12-12 09:58:54