问答详情
源自:6-6 管理内存:向函数中传入一个对象

为什么要重载运算符=?

如果没有重载运算符=,赋值的时候还是拷贝吗?

提问者:版槽子 2023-05-23 11:23

个回答

  • AndroidRA9
    2023-06-01 16:04:32

    如果没有重载运算符=,赋值的时候只会浅拷贝,也就是说两个变量会指向同一个内存空间,在清除内存时可能会把同一内存空间清除2次并导致内存泄漏。重载运算符“=”之后,可以进行深拷贝,从而防止浅拷贝产生的内存泄漏问题。此外,重载运算符“=”还可以解决类对象之间的运算和赋值问题。