/
//偽拷貝
--就是假拷貝
,並沒有真正的拷貝
,位址和
person01
位址一樣
,兩個指向乙個位址
//- (id)copywithzone:(nszone*)zone //
淺拷貝--物件是2個
,但是內容是同乙個
,人是兩份
,拷貝的姓名是個指標
.這種拷貝是把
name
的首位址給傳進來了
,年齡拷貝進來了
,但真的年齡還是乙份
//-(id)copywithzone:(nszone *)zone //
// //
深拷貝--
物件是2個,
但是內容也是兩個
,你改什麼內容對我沒有影響
~名字和年齡各兩份
,各存放
- (id)copywithzone:(
nszone
*)zone
iOS偽拷貝, 淺拷貝, 深拷貝
先來說說偽拷貝。偽拷貝就是生成了乙個指標變數,指向了某乙個物件。接下來我們來 下淺拷貝和深拷貝。首先,從copy開始說,簡而言之,copy的目的就是生成乙個新的例項,然後把其成員都按原例項賦值。對於非指標型的成員,比如bool,int,float,這樣的賦值可以直接進行。但是對於指標型的資料,比如o...
淺拷貝 深拷貝
copy mutablecopy copy 不管是可變的,還是不可變的,結果都是不可變的 mutablecopy 不管是不可變的,還是可變的,結果都是可變的 nsmutablestring str nsmutablestring stringwithformat a nsarray arr1 str...
深拷貝 淺拷貝
c 中物件的複製就如同 轉殖 用乙個已有的物件快速地複製出多個完全相同的物件。一般而言,以下三種情況都會使用到物件的複製 1 建立乙個新物件,並用另乙個同類的已有物件對新物件進行初始化,例如 cpp view plain copy class rect rect rect1 rect rect2 r...