arcgis engine
開發中對於物件使用,每乙個物件都會分配一塊記憶體,在有些應用中想要做到物件的完全複製,希望重新分配一塊新的記憶體來對該物件進行操作,就要用到
iobjectcopy
介面。能夠通過
iobjectcopy
介面進行複製的必須能夠轉換成
ipersiststream
。可以有效的避免
「嘗試讀取或寫入受保護的記憶體
,這通常指示其他記憶體已損壞
」這樣的錯誤。樣例
iobjectcopy bjectcopy = newobjectcopyclass();
object tocopylayer = mainmapcontrol.get_layer(i);
object copiedlayer = objectcopy.copy(tocopylayer);
ilayer c = (new featurelayerclass()) as ilayer;
object tooverwritelayer = c;
objectcopy.overwrite(copiedlayer, ref tooverwritelayer);
overviewmapcontrol.addlayer(c, i);
物件的深度複製
深度複製就是將引用成員指向的物件也進行複製。實際的過程是建立新的引用成員指向的物件,然後複製物件包含的資料。深度複製可能會變得非常複雜,因為引用成員指向的物件可能包含另乙個引用型別成員,最簡單的例子就是乙個線性鍊錶。如果乙個物件的成員包含了對於線性鍊錶結構的乙個引用,淺度複製 只複製了對頭結點的引用...
js深度複製物件
js在處理複雜資料的時候,可能會涉及到引用型別的物件或者陣列的copy問題,下面是兩種複製物件或陣列的方法 一 利用jquery自帶的方法,呼叫簡單方便 淺層複製 只複製object根級的各個值 var newobject jquery.extend oldobject 深層複製 會複製整個 包括根...
淺度複製 深度複製
深度複製 deep copy 從乙個變數到另乙個變數按值複製物件,即產生乙個和原物件相同的並且沒有任何引用聯絡的物件。淺度複製 shallow copy 只複製物件的基本型別,而引用型別仍屬於原來的物件。可以使用systrm.object的memberwiseclone 方法來完成,這是乙個受保護的...