यह देखते हुए कि एक वर्ग वास्तव में चलने योग्य है, मैन्युअल रूप से चालक को कार्यान्वित करने और कक्षा के लिए असाइनमेंट ऑपरेटर को स्थानांतरित करने के लिए जल्दी से थकाऊ हो जाता है।मुझे किस परिदृश्य में एक चालक कन्स्ट्रक्टर को लागू करने और असाइनमेंट ऑपरेटर को स्थानांतरित करने की स्पष्ट रूप से आवश्यकता है?
मैं सोच रहा था जब ऐसा वास्तव में एक भारी, भारी, समयपूर्व अनुकूलन है?
उदाहरण के लिए, यदि किसी वर्ग में केवल छोटे पीओडी डेटा या सदस्य हैं जो स्वयं कन्स्ट्रक्टर ले जाते हैं और असाइनमेंट ऑपरेटर को परिभाषित करते हैं, तो मुझे लगता है कि संकलक या तो बहुत से बाहर निकल जाएगा (मामले में पीओडी के) और अन्यथा सदस्यों के चाल कन्स्ट्रक्टर का उपयोग करें और असाइनमेंट ऑपरेटर ले जाएं।
लेकिन क्या यह गारंटी है? को किस परिदृश्य में एक चालक कन्स्ट्रक्टर को कार्यान्वित करने और असाइनमेंट ऑपरेटर को स्थानांतरित करने की आवश्यकता है?
संपादित करें:https://stackoverflow.com/a/9966105/6345 में अपने जवाब के लिए एक टिप्पणी में निकोल Bolas से नीचे उल्लेख किया है, दृश्य स्टूडियो 11 बीटा के साथ (और पहले) कोई चाल निर्माता या स्थानांतरित असाइनमेंट ऑपरेटर कभी स्वचालित रूप से उत्पन्न होता है। संदर्भ: http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx
मुझे पता है कि प्रतिलिपि बनाने वाले निर्माता की पीढ़ी के बारे में हाल ही में बदलाव आया है जब कॉपी कन्स्ट्रक्टर हस्तनिर्मित था (और असाइनमेंट के बराबर)। '= Default' के प्रभाव के बारे में उस परिवर्तन से पहले एक चर्चा हुई थी, अगर मुझे सही याद है ... क्या 'डिफ़ॉल्ट' वास्तव में चालक कन्स्ट्रक्टर/असाइनमेंट उत्पन्न नहीं कर सकता है? –
@Matthieu: §12.8/11 उन स्थितियों का वर्णन करता है जिनमें कक्षा के लिए एक डिफ़ॉल्ट प्रतिलिपि/चालक कन्स्ट्रक्टर को हटाया गया है। – ildjarn
@ildjarn: हाँ, हालांकि यह हाल ही में बदल गया मुझे लगता है। और मुझे यकीन नहीं है कि डीआर के संकल्प को लागू करने के बाद पहले क्या हटाना होगा और नहीं होगा। –