賦值、淺拷貝和深拷貝的區別?


一、賦值

賦值是一個指向引用的操作,它指向的是同一個對象,舉個例子:

 

對blist操作,alist也會發生變化:

 

 二、淺拷貝

淺拷貝對於單層列表來說,沒有區別;但是對於多層列表來說:

1.可以拷貝出父級列表,父級列表與源數據不是對一個對象,物理地址不一樣;

2.拷貝出的子列表,字列表與源數據是同一對象,物理地址一樣,換言之,拷貝的不夠徹底;

舉個簡單例子:

 

 三、深拷貝

深拷貝相對於淺拷貝來說,就是一種很徹底的拷貝,不管是父列表還是子列表,都是一個新的對象,與源數據不是一個,物理地址不同。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM