Deep copy là gì?

Noun Programming

Trong deep copy, một đối tượng (object) được tạo bằng cách sao chép dữ liệu của tất cả các biến (variable) và nó cũng cấp phát tài nguyên (resource) bộ nhớ (memory) tương tự có cùng giá trị cho đối tượng. Để thực hiện deep copy, chúng ta cần định nghĩa tường minh hàm khởi tạo sao chép (copy constructor) và gán bộ nhớ động (dynamic memory) nếu được yêu cầu. Ngoài ra, cũng cần phải cấp phát (allocate) động bộ nhớ cho các biến trong các hàm tạo (constructors) khác. Bên dưới là code ví dụ trong C++.


// C++ program to implement the
// deep copy
#include 
using namespace std;
  
// Box Class
class box {
private:
    int length;
    int* breadth;
    int height;
  
public:
    // Constructor
    box()
    {
        breadth = new int;
    }
  
    // Function to set the dimensions
    // of the Box
    void set_dimension(int len, int brea,
                       int heig)
    {
        length = len;
        *breadth = brea;
        height = heig;
    }
  
    // Function to show the dimensions
    // of the Box
    void show_data()
    {
        cout 

Output:


Length = 12
Breadth = 14
Height = 16
Length = 12
Breadth = 14
Height = 16

Learning English Everyday