版槽子
2023-05-23 11:23
如果没有重载运算符=,赋值的时候还是拷贝吗?
如果没有重载运算符=,赋值的时候只会浅拷贝,也就是说两个变量会指向同一个内存空间,在清除内存时可能会把同一内存空间清除2次并导致内存泄漏。重载运算符“=”之后,可以进行深拷贝,从而防止浅拷贝产生的内存泄漏问题。此外,重载运算符“=”还可以解决类对象之间的运算和赋值问题。
可是老师不是又写了一个拷贝构造函数吗,这个拷贝构造函数不就是进行深拷贝的吗。而且,重载运算符的函数里面,只是返回了*this,并没有做其他操作,所以写它的目的是什么呢?
2023-06-02 17:52:54
共 1 条回复 >
趣味 C++ 进阶
13927 学习 · 44 问题
相似问题
回答 1
回答 2