深拷贝和浅拷贝之间有什么区别?深拷贝和浅拷贝之间有什么区别?
4 回答
梵蒂冈之花
TA贡献1900条经验 获得超5个赞
浅拷贝尽可能少复制。集合的浅表副本是集合结构的副本,而不是元素。使用浅拷贝,两个集合现在共享各个元素。
深拷贝复制一切。集合的深层副本是两个集合,原始集合中的所有元素都是重复的。
森栏
TA贡献1810条经验 获得超5个赞
广度与深度; 根据您的对象作为根节点的引用树来思考。
浅:
变量A和B指的是不同的存储区域,当B被分配给A时,两个变量指的是相同的存储区域。以后对其中一个内容的修改会立即反映在其他内容中,因为它们共享内容。
深:
变量A和B指的是不同的存储区,当B被分配给存储区中的值时,A指向的值被复制到B指向的存储区中。后来对其中任何内容的修改仍然是A或B的唯一内容; 内容不共享。
胡说叔叔
TA贡献1804条经验 获得超8个赞
特别是对于iOS开发人员:
如果B
是浅拷贝的A
,那么它就像原始数据B = [A assign];
和对象它像B = [A retain]
;
B和A指向相同的内存位置
如果B
是深拷贝的A
,那么它像B = [A copy];
B和A指向不同的存储位置
B存储器地址与A相同
B与A的内容相同
添加回答
举报
0/150
提交
取消