军训结束!
今天学习c++运算符重载,结合各种构造析构函数,还有利用赋值运算符进行对象间深拷贝,学着实现一个“动态数组”类
感受:
首先是体会到了浅拷贝和深拷贝的一些区别,对于某些类,含有动态分配的内存的成员,就不能简单的用默认的“=”来拷贝。
因为这是内容的直接复制,那么拷贝和被拷贝对象的指针指向同一块地址,一个被delete另一个也就没了
必须深拷贝,自己重载“=”运算符,先分配空间,再复制内容。
郭炜老师讲解好形象!
另一点就是感受到链表的优越性,动态数组如果不用链表,每次增减元素都需要:一个临时存储变量,拷贝过去,delete愿所有空间,分配新空间,再拷贝回去。
如果使用链表就可以直接在尾部加了。
应运而生的数据结构吗?
链表还是会的,不过是用c,以后用c++写
浅拷贝,深拷贝,体会到了链表的好处
最新推荐文章于 2023-01-29 22:29:11 发布