亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

深拷貝和淺拷貝之間有什么區別?

深拷貝和淺拷貝之間有什么區別?

深拷貝和淺拷貝之間有什么區別?深拷貝和淺拷貝之間有什么區別?
查看完整描述

4 回答

?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

淺拷貝盡可能少復制。集合的淺表副本是集合結構的副本,而不是元素。使用淺拷貝,兩個集合現在共享各個元素。

深拷貝復制一切。集合的深層副本是兩個集合,原始集合中的所有元素都是重復的。


查看完整回答
反對 回復 2019-05-25
?
森欄

TA貢獻1810條經驗 獲得超5個贊

廣度與深度; 根據您的對象作為根節點的引用樹來思考。

淺:

https://img1.sycdn.imooc.com//5ce8f7fc00016ba301200090.jpghttps://img1.sycdn.imooc.com//5ce8f7fd00019f0c01200090.jpghttps://img1.sycdn.imooc.com//5ce8f7fe0001427301200090.jpg

變量A和B指的是不同的存儲區域,當B被分配給A時,兩個變量指的是相同的存儲區域。以后對其中一個內容的修改會立即反映在其他內容中,因為它們共享內容。

深:

https://img1.sycdn.imooc.com//5ce8f8010001b61e01200090.jpghttps://img1.sycdn.imooc.com//5ce8f80c000177c101200090.jpghttps://img1.sycdn.imooc.com//5ce8f80e00016ba301200090.jpg

變量A和B指的是不同的存儲區,當B被分配給存儲區中的值時,A指向的值被復制到B指向的存儲區中。后來對其中任何內容的修改仍然是A或B的唯一內容; 內容不共享。


查看完整回答
反對 回復 2019-05-25
?
胡說叔叔

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的內容相同


查看完整回答
反對 回復 2019-05-25
  • 4 回答
  • 0 關注
  • 1247 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號