Shallow copy is also known as address copy. In this process you only copy address not actual data while in deep copy you copy data.
Suppose there are two objects A and B. A is pointing to a different array while B is pointing to different array. Now what I will do is following to do shallow copy.
Char *A = { ‘a’, ’b’, ’c’};
Char *B = { ‘x’, ’y’, ’z’};
B = A;
Now B is pointing is at same location where A pointer is pointing. Both A and B in this case sharing same data. if change is made both will get altered value of data. Advantage is that coping process is very fast and is independent of size of array.
while in deep copy data is also copied. This process is slow but Both A and B have their own copies and changes made to any copy, other will copy will not be affected.
Join MindStick Community
You need to log in or register to vote on answers or questions.
We use cookies to ensure you have the best browsing experience on our website. By using our site, you
acknowledge that you have read and understood our
Cookie Policy &
Privacy Policy.
Shallow copy is also known as address copy. In this process you only copy address not actual data while in deep copy you copy data.
Suppose there are two objects A and B. A is pointing to a different array while B is pointing to different array. Now what I will do is following to do shallow copy.
Char *A = { ‘a’, ’b’, ’c’};
Char *B = { ‘x’, ’y’, ’z’};
B = A;
Now B is pointing is at same location where A pointer is pointing. Both A and B in this case sharing same data. if change is made both will get altered value of data. Advantage is that coping process is very fast and is independent of size of array.
while in deep copy data is also copied. This process is slow but Both A and B have their own copies and changes made to any copy, other will copy will not be affected.