और इसी तरह, क्या डिफ़ॉल्ट प्रतिलिपि निर्माता सभी सदस्यों पर कॉपी कन्स्ट्रक्टर को कॉल करता है? उदाहरण के लिए, एक वर्ग तो जैसे एक गैर पॉड सदस्य है यदि:क्या डिफ़ॉल्ट असाइनमेंट ऑपरेटर सभी सदस्यों पर ऑपरेटर = कॉल करता है?
class A
{
std::string str;
};
... होगा डिफ़ॉल्ट संकलक उत्पन्न प्रतिलिपि निर्माता और असाइनमेंट ऑपरेटर काम सही ढंग से? क्या वे स्ट्रिंग की कॉपी कन्स्ट्रक्टर और operator=
पर कॉल करेंगे या क्या वे सदस्य चर str
की बिटवाई कॉपी कॉपी करेंगे?
दूसरे शब्दों में, std::string
सदस्य का मतलब है कि इस वर्ग को उपयोगकर्ता द्वारा लागू प्रतिलिपि निर्माता और असाइनमेंट ऑपरेटर की आवश्यकता है?
"हां, कंपाइलर से उत्पन्न एक सही ढंग से काम करेगा।" - यहां तक कि कॉन्स सदस्यों के साथ कक्षाओं के लिए भी? –
@spin_eight अच्छी तरह से एक प्रति या असाइनमेंट भी संकलित नहीं होगा। –
@ लचियनग्रिगोर: दरअसल, एक प्रति संकलित होगी। असाइनमेंट स्पष्ट रूप से नहीं होगा। –