Shallow copy and Deep copy


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.

2 comments:

  1. Life is like a landscape. You live in the midst of it but can describe it only from the vantage point of distance. See the link below for more info.

    #distance
    www.inspgift.com

    ReplyDelete
  2. An attention-grabbing dialogue is value comment. I feel that you should write more on this subject, it won't be a taboo subject however typically individuals are not enough to talk on such topics. To the next. Cheers gsn casino games

    ReplyDelete