C++ 深拷贝实现:Dog 拷贝构造函数详解
Dog(const Dog &dg) { //拷贝构造函数\n\t\tcout << "copy construct" << endl; //输出信息\n\t\tm_value = dg.m_value; //将被拷贝对象的m_value赋值给当前对象的m_value\n\t\t//m_ptr = dg.m_ptr; //浅拷贝,将被拷贝对象的m_ptr指针赋值给当前对象的m_ptr,两个指针指向同一块内存\n\t\tm_ptr = new int [10]; //深拷贝,为当前对象创建一个新的int类型数组,长度为10\n\t\tmemcpy(m_ptr, dg.m_ptr, 10 * sizeof(int)); //将被拷贝对象的m_ptr指向的内存内容拷贝到当前对象的m_ptr指向的内存中\n}
原文地址: https://www.cveoy.top/t/topic/qpOz 著作权归作者所有。请勿转载和采集!