Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

What is a "Copy Constructor"?

Answer Posted / phool chand

A Copy Constructor constructs a new object as a copy of an existing object of the same type. Frequently copy constructors do a 'deep copy' of the object. X( const X& X_object ){...}; is a copy constructor for class X.

Deep Copy vs. Shallow Copy:

a shallow copy simply copies the contents of an object directly - if the object contains pointers, both the old copy and the new copy contain pointers to the same actual item. In a deep copy, when an object contains a pointer, a new copy of whatever the pointer points AT is created and the new object contains a pointer to the newly created copy of the item.

Why are deep copies important? If you carry out a shallow copy you end up with two pointers to the same item. If that item is an object with a destructor, this generally means you'll end up calling the destructor for that item twice, which will generally cause problems.

Unfortunately, most don't know to ask this question directly: the symptom is generally heap corruption which is hard to track down directly since there it has many possible causes.

Is This Answer Correct ?    0 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Can you please explain the difference between using macro and inline functions?

993


Difference between an inspector and a mutator

1270


What is different in C++, compare with unix?

1020


What is expression parser in c++

2413


Briefly describe a B+ tree. What is bulk loading in it?

1253


Is nan a c++?

1092


Explain the use of vtable.

1028


What is the difference between passing by reference and passing a reference?

1023


Explain how would you handle a situation where you cannot call the destructor of a local explicitly?

911


Explain pass by value and pass by reference.

1002


Why is c++ considered difficult?

1093


How the endl and setw manipulator works?

963


what is a class? Explain with an example.

1100


What is friend class in c++ with example?

944


What is iomanip c++?

1011