DIR Return Create A Forum - Home
---------------------------------------------------------
ifaq
HTML https://ifaq.createaforum.com
---------------------------------------------------------
*****************************************************
DIR Return to: C/C++ related questions
*****************************************************
#Post#: 10--------------------------------------------------
Shallow copy vs Deep copy
By: avinash.srin Date: August 25, 2011, 9:46 am
---------------------------------------------------------
What is the difference between shallow copy and deep copy?
#Post#: 21--------------------------------------------------
Re: Shallow copy vs Deep copy
By: avinash.srin Date: August 26, 2011, 6:40 am
---------------------------------------------------------
A shallow copy of an object copies all of the member field
values. This works well if the fields are values, but may not be
what you want for fields that point to dynamically allocated
memory. The pointer will be copied. but the memory it points to
will not be copied -- the field in both the original object and
the copy will then point to the same dynamically allocated
memory, which is not usually what you want. The default copy
constructor and assignment operator make shallow copies.
A deep copy copies all fields, and makes copies of dynamically
allocated memory pointed to by the fields. To make a deep copy,
you must write a copy constructor and overload the assignment
operator, otherwise the copy will point to the original, with
disastrous consequences.
*****************************************************