Explain the difference between a shallow copy and a deep copy of data.

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter12: Points, Classes, Virtual Functions And Abstract Classes
Section: Chapter Questions
Problem 27SA
icon
Related questions
Question

Explain the difference between a shallow copy and a deep copy of data.

Expert Solution
Step 1: Difference between shallow and a deep copy of data

They differ in copying the pointer variable. If, for example, “first” and “sec” are integer pointers and the pointer first points to the following array,

Computer Science homework question answer, step 1, image 1

After the execution of the statement “sec=first”

In case of shallow copy, both “first”, and “sec” points to the same data item as follows,

Computer Science homework question answer, step 1, image 2

This is called as shallow copy, where “2” or more point of the same type points to the same memory (data).

In case of deep copy, for the assignment, the below thing is carried out,

sec= new int[5];

for(int j=0;j<5;j++)

                sec[j]=first[j];

Computer Science homework question answer, step 1, image 3

Here, both “first” and “second” point to their own data.

steps

Step by step

Solved in 2 steps with 3 images

Blurred answer