首页 > 代码库 > 初探C++ 深拷贝与浅拷贝
初探C++ 深拷贝与浅拷贝
赋值运算符的意义 - 浅拷贝与深拷贝
浅拷贝
执行逐个字节的复制工作
MyString S1, S2;//假设MyString类里有个char *类型的指针str 并且已经重载过运算符可以直接赋值字符串字面值S1 = “this”;S2 = “that”;S1 = S2;
浅拷贝实际过程
深拷贝
将一个对象中指针变量指向的内容复制到另一个对象中指针成员对象指向的地方。
深拷贝实际过程
深拷贝代码实现过程
String & operator = (const String & s) { if(str == s.str) return * this; //防止 s = s ;出错 if(str) delete [] str; str = new char[strlen(s.str)+1]; strcpy(str , s.str); return * this;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。