, a deep copy
is copy that contains the complete encapsulated data of the original object, allowing it to be used independently of the original object.
In contrast, a shallow copy
is a copy that may be associated to data shared by the original and the copy.
For example, if a C++ class contains a pointer to a null-terminated string, the deep copy would also copy the string, while the shallow copy would create an object where the pointer points to same string, and changes to it affect both objects.
All Wikipedia text
is available under the
terms of the GNU Free Documentation License