คำถามติดแท็ก shallow-copy

30
อะไรคือความแตกต่างระหว่างสำเนาลึกกับสำเนาตื้น
คำตอบของคำถามนี้เป็นความพยายามของชุมชน แก้ไขคำตอบที่มีอยู่เพื่อปรับปรุงโพสต์นี้ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ อะไรคือความแตกต่างระหว่างสำเนาลึกกับสำเนาตื้น

9
ฉันจะสร้างสำเนาของวัตถุใน PHP ได้อย่างไร
ปรากฏว่าในวัตถุ PHP จะถูกส่งผ่านโดยอ้างอิง แม้ผู้ประกอบการที่ได้รับมอบหมายไม่ปรากฏว่ากำลังสร้างสำเนาของวัตถุ นี่เป็นข้อพิสูจน์ที่เรียบง่าย <?php class A { public $b; } function set_b($obj) { $obj->b = "after"; } $a = new A(); $a->b = "before"; $c = $a; //i would especially expect this to create a copy. set_b($a); print $a->b; //i would expect this to show 'before' print $c->b; …
168 php  copy  clone  shallow-copy 

7
ทำไมและเมื่อใช้ angular.copy (สำเนาลึก)
ฉันบันทึกข้อมูลทั้งหมดที่ได้รับจากบริการโดยตรงไปยังตัวแปรท้องถิ่นตัวควบคุมหรือขอบเขต สิ่งที่ฉันคิดว่าจะถือว่าเป็นสำเนาตื้น ๆ ถูกต้องหรือไม่ Example: DataService.callFunction() .then(function(response) { $scope.example = response.data; }); เมื่อเร็ว ๆ นี้ฉันได้รับคำสั่งให้ใช้ angular.copy เพื่อสร้างสำเนาลึก $scope.example = angular.copy(response.data); อย่างไรก็ตามข้อมูลสำเนาลึกดูเหมือนว่าจะทำงานในลักษณะเดียวกันเมื่อใช้งานโดยแอปพลิเคชันเชิงมุมของฉัน มีประโยชน์ที่เฉพาะเจาะจงในการใช้สำเนาลึก (angular.copy) และคุณช่วยอธิบายพวกเขาให้ฉันได้ไหม

3
สำเนาตื้นของแผนที่ใน Java
ตามที่ฉันเข้าใจมีสองวิธี (อาจเป็นวิธีอื่นเช่นกัน) ในการสร้างสำเนาตื้นของMapJava: Map<String, Object> data = new HashMap<String, Object>(); Map<String, Object> shallowCopy; // first way shallowCopy = new HashMap<String, Object>(data); // second way shallowCopy = (Map<String, Object>) ((HashMap<String, Object>) data).clone(); วิธีหนึ่งเป็นที่ต้องการมากกว่าอีกวิธีหนึ่งและถ้าเป็นเช่นนั้นทำไม? สิ่งหนึ่งที่ควรกล่าวถึงคือวิธีที่สองให้คำเตือน "Unchecked Cast" ดังนั้นคุณต้องเพิ่ม@SuppressWarnings("unchecked")เพื่อหลีกเลี่ยงซึ่งเป็นเรื่องที่น่ารำคาญเล็กน้อย (ดูด้านล่าง) @SuppressWarnings("unchecked") public Map<String, Object> getDataAsMap() { // return a shallow copy of the …
107 java  map  clone  shallow-copy 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.