简述Java中的深拷贝与浅拷贝,C++中的浅拷贝和深拷贝

  Java中clone方式是浅拷贝,如果想实现深拷贝,需要继承clonable接口,重写clone方法。

  基本数据类型直接将值拷贝过来。但是对象类型,它是一个引用,指向一个真正的对象,那么对它的拷贝有两种方式:直接将源对象中的引用值拷贝给新对象的字段,或者是根据原对象中的指向的字符串对象创建一个新的相同的对象,将这个新对象的引用赋给新拷贝的对象的字段。

  C++何时使用到拷贝构造函数?C++中使用浅拷贝注意野指针的生成。默认的拷贝构造函数是浅拷贝。

  1.一个对象以值传递的方式传入函数体。

  2.一个对象以值传递的方式从函数返回。

  3.一个对象需要通过另一个对象进行初始化。

猜你喜欢

转载自my.oschina.net/134596/blog/1807437