zoukankan      html  css  js  c++  java
  • 59、深拷贝与浅拷贝是怎么回事?

    1) 浅复制 :只是拷贝了基本类型的数据,而引用类型数据,复制后也是会发生引用,我们把这种拷贝 叫做“(浅复制)浅拷贝”,换句话说,浅复制仅仅是指向被复制的内存地址,如果原地址中对象被改变 了,那么浅复制出来的对象也会相应改变。

    深复制 :在计算机中开辟了一块新的内存地址用于存放复制的对象。

    2) 在某些状况下,类内成员变量需要动态开辟堆内存,如果实行位拷贝,也就是把对象里的值完全复 制给另一个对象,如A=B。这时,如果B中有一个成员变量指针已经申请了内存,那A中的那个成员变量 也指向同一块内存。这就出现了问题:当B把内存释放了(如:析构),这时A内的指针就是野指针了, 出现运行错误。

  • 相关阅读:
    “数学题”——传钱
    kafka笔记——入门介绍
    SpringBoot集成Dubbo+Zookeeper
    MySql基本语法
    动态规划
    总结
    Java反射
    软件清单
    Java IO操作
    Spring Boot AOP的使用
  • 原文地址:https://www.cnblogs.com/crbhf/p/14968136.html
Copyright © 2011-2022 走看看