zoukankan      html  css  js  c++  java
  • 深拷贝与浅拷贝

    首先通过一句话来解释:深拷贝就是内容拷贝,浅拷贝就是指针拷贝。

    深拷贝就是拷贝出和原来仅仅是值一样,但是内存地址完全不一样的新的对象,创建后和原对象没有任何关系。浅拷贝就是拷贝指向原来对象的指针,使原对象的引用计数+1,可以理解为创建了一个指向原对象的新指针而已,并没有创建一个全新的对象。

    (1)非容器类对象的深拷贝、浅拷贝

    对于字符串这类非容器类对象,copy是浅拷贝,mutable是深拷贝。

    对于MutableString,无论是copy还是mutableCopy,都会创建一个新对象,都是属于深拷贝。

    对于可变对象的复制,都是深拷贝;

    -- 可变对象copy后返回的对象是不可变的,mutableCopy后返回的对象是可变的。

    (2)非容器类对象的深拷贝、浅拷贝

    -- 容器对象和非容器对象类似,可变对象复制(copy,mutableCopy)的都是一个新对象;不可变对象copy是浅复制,mutableCopy是深复制。

    -- 对于容器而言,元素对象始终是指针复制。

  • 相关阅读:
    springboot启动只显示图标不报错
    tmux常用
    ubuntu+anaconda+mxnet环境配置
    OpenCV学习笔记(二)
    c++基础
    c++算法实现(一)
    pytorch使用不完全文档
    ubuntu上传到百度网盘
    pickel加速caffe读图
    caffe常用
  • 原文地址:https://www.cnblogs.com/hadyt/p/5623152.html
Copyright © 2011-2022 走看看