深拷贝和浅拷贝之间有什么区别?

深拷贝和浅拷贝之间有什么区别?

深拷贝和浅拷贝之间有什么区别?



慕田峪7331174
浏览 1138回答 4
4回答

梵蒂冈之花

浅拷贝尽可能少复制。集合的浅表副本是集合结构的副本,而不是元素。使用浅拷贝,两个集合现在共享各个元素。深拷贝复制一切。集合的深层副本是两个集合,原始集合中的所有元素都是重复的。

森栏

广度与深度; 根据您的对象作为根节点的引用树来思考。浅:变量A和B指的是不同的存储区域,当B被分配给A时,两个变量指的是相同的存储区域。以后对其中一个内容的修改会立即反映在其他内容中,因为它们共享内容。深:变量A和B指的是不同的存储区,当B被分配给存储区中的值时,A指向的值被复制到B指向的存储区中。后来对其中任何内容的修改仍然是A或B的唯一内容; 内容不共享。

胡说叔叔

特别是对于iOS开发人员:如果B是浅拷贝的A,那么它就像原始数据B = [A assign];和对象它像B = [A retain];B和A指向相同的内存位置如果B是深拷贝的A,那么它像B = [A copy];B和A指向不同的存储位置B存储器地址与A相同B与A的内容相同
打开App,查看更多内容
随时随地看视频慕课网APP