यह कुछ ऐसा है जो मैंने लंबे समय से सोचा है।कॉपी नियंत्रण कार्यों में सी ++ सरणी सदस्यों को कैसे प्रबंधित किया जाता है?
struct matrix
{
float data[16];
};
मुझे पता है कि डिफ़ॉल्ट निर्माता और नाशक इस विशिष्ट उदाहरण (कुछ भी नहीं) में करते हैं, लेकिन क्या प्रतिलिपि निर्माता और प्रति असाइनमेंट ऑपरेटर के बारे में: निम्नलिखित उदाहरण लें?
struct matrix
{
float data[16];
// automatically generated copy constructor
matrix(const matrix& that) : // What happens here?
{
// (or here?)
}
// automatically generated copy assignment operator
matrix& operator=(const matrix& that)
{
// What happens here?
return *this;
}
};
यह std::copy
या std::uninitialized_copy
या memcpy
या memmove
या क्या शामिल है?
यह वास्तव में सी नहीं है, लेकिन (ज्यादातर) सी ++ है। –
@DervinThunk मैंने सी से सी ++ के प्रश्न का शीर्षक बदल दिया – jfritz42