深拷贝 秒速五厘米 2022-07-15 08:20 244阅读 0赞 /* 默认拷贝构造,对于数据只是值传递,对于指针 ,则指向同一片内存地址 类的内部有指针并分配内存的,需要深拷贝,否则浅拷由。 深拷贝需要自己手动 */ #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<cstring> using namespace std; //数据的拷贝是浅拷贝 class MyClass { public: int a; int b; void show() { cout << "a:" << a << " b:" << b << endl; } MyClass(int x, int y) :a(x), b(y) { } }; void main15A() { MyClass my1(1,2); MyClass my2(my1); my1.show(); my2.show(); cin.get(); } //默认拷贝构造,对于数据只是值传递,对于指针 ,则指向同一片内存地址 class MyString { public: char *pstr; int length; MyString(char *str) { this->length = strlen(str) + 1; this->pstr = new char[this->length]{0};//全部初始为 0 strcpy(this->pstr, str); // } void show() { cout << "length:" << length << " pstr地址:" << (void *)pstr << " *pstr:" << pstr << endl; } ~MyString() { delete[] pstr; } MyString(const MyString &ms) { this->length = ms.length; this->pstr = new char[this->length]{0}; strcpy(this->pstr, ms.pstr); //拷贝内容 } }; void main15B() { MyString ms1("shanghai"); MyString ms2(ms1); ms1.show(); ms2.show(); ms1.~MyString(); ms2.show(); cin.get(); } /* 下面代码 调用 析构函数 回车结束时就报错.... */ //class Stu //{ //public: // int *p; // int size; // Stu(int x) :size(x) // { // p = new int[size]; // } // Stu(const Stu &st) // { // size = st.size; // p = new int[size]; // } // ~Stu() // { // delete[] p; // } // void show() // { // cout << "size:" << size << " *p" << p << endl; // } //}; // //void main() //{ // Stu stu1(10); // Stu stu2(stu1); // stu1.show(); // stu1.~Stu(); // stu2.show(); // // // cin.get(); //}
相关 深拷贝 // 深拷贝 // 现在你想把company对象和staff对象合并到obj对象里面,然后改变obj.name的值而不影响到company... 淩亂°似流年/ 2024年04月18日 03:00/ 0 赞/ 111 阅读
相关 深拷贝 深拷贝是指在复制对象时,除了复制对象本身的值以外,还会复制对象内部的所有引用对象。换句话说,深拷贝会创建一个新的对象,并复制原对象的所有属性和引用的对象,而不是复制原对象的引用 柔情只为你懂/ 2024年03月26日 10:03/ 0 赞/ 122 阅读
相关 深拷贝 最近经常看到很多`JavaScript`手写代码的文章总结,里面提供了很多`JavaScript Api`的手写实现。 里面的题目实现大多类似,而且说实话很多代码在我看来是非 约定不等于承诺〃/ 2023年06月04日 14:57/ 0 赞/ 34 阅读
相关 深拷贝浅拷贝 深拷贝浅拷贝 深拷贝和浅拷贝的区别 1.浅拷贝: 将原对象或原数组的引用直接赋给新对象,新数组,新对象/数组只是原对象的一个引用 2.深拷贝: 创建一个新的 柔光的暖阳◎/ 2022年12月26日 11:20/ 0 赞/ 285 阅读
相关 深拷贝/浅拷贝 一、值传递和引用传递 在谈值传递和引用传递之前先了解下java数据类型有哪些 Java数据类型 java的数据类型有两大类,基本类型和对象类型。相应的,变量也有两 青旅半醒/ 2022年11月06日 05:49/ 0 赞/ 291 阅读
相关 深拷贝 / 默认拷贝构造,对于数据只是值传递,对于指针 ,则指向同一片内存地址 类的内部有指针并分配内存的,需要深拷贝,否则浅拷由。 深拷贝需要自己手动 秒速五厘米/ 2022年07月15日 08:20/ 0 赞/ 245 阅读
相关 深拷贝 / 默认拷贝构造,对于数据只是值传递,对于指针 ,则指向同一片内存地址 类的内部有指针并分配内存的,需要深拷贝,否则浅拷由。 深拷贝需要自己手动 Dear 丶/ 2022年07月15日 08:20/ 0 赞/ 226 阅读
相关 浅拷贝深拷贝 对深拷贝与浅拷贝的再次理解 记得11年底找工作的时候,面试时曾经遇到有面试官问的对深拷贝与浅拷贝的理解,那时候自己回来查了资料,写了篇博客,感觉自己理解了,其实理解的不深 Bertha 。/ 2022年07月15日 00:28/ 0 赞/ 335 阅读
相关 深拷贝 浅拷贝 ![本文思维导图][format_png] 目录 深拷贝和浅拷贝的区别 实现浅拷贝的几种方法 实现深拷贝的3种方法 基本数据类型 引用类型 传值与传址 --- 缺乏、安全感/ 2022年02月12日 16:53/ 0 赞/ 474 阅读
相关 深拷贝 1. JS 中拷贝对象分为浅拷贝和深拷贝 浅拷贝 : 拷贝引用 深拷贝 : 拷贝里面的数据成新的对象 2. 常规做法 递归 , 简单实现方式如下: va 曾经终败给现在/ 2021年09月18日 01:06/ 0 赞/ 371 阅读
还没有评论,来说两句吧...