首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

贪心算法-LeetCode 121、122(深浅拷贝,贪心思路)

深拷贝解决的问题是: 当创建对象时,在构造函数中建立堆区,并在析构函数中删除,当使用Test t2 = t1时,这属于浅拷贝,此时t2和t1的buffer指向同一区域,只是指针不同! 但是当main函数结束后,程序退出,这两个对象都会调用自己的析构函数对buffer指向的内存进行释放,但问题是:会出现两次delete,同一块内存不可以释放两次,否则程序崩溃! 因此需要使用深拷贝,由于Test t2 = t1运行过程中会调用复制构造函数!从而在复制构造中重新开辟一块区域,实现深拷贝! 当我们解决了Test t2 = t1的问题,会发现t3 = t1的赋值运算也是浅拷贝!如何解决呢?重载赋值运算符即可

02
领券