ignore the prev mail, send button hd got clicked while i was typing .. :P
shallow copy > ----------------- > > class MyString { > > char *str; > public: > MyString(char *); > //MyString & operator=(const MyString & t); > }; > > MyString :: MyString(char *s) > { > int len = strlen(s); > str = new char[len +1] ; strcpy(str, s); > } > > MyString a("rahul"); > MyString b; > > b = a; > > the default = operator does a bitwise copy, so if we don't overload the > default behaviour, it will just copy the contents of a to b. so now both a & > b will point to the same memory. > > this is shallow copy. nd it hs memory issues due to obvious reasons. > > deep copy > --------------- > a deep copy of a to b, should allocate memory for b nd den should copy the > value of a to b. > so, now both the objects have distinct memory allocated to it. So, ther > wont be memory related issues here. > > to do deep copy, we need to overload the default behavior of the assignment > operator. > > MyString & MyString :: operator=(const MyString & s); > { > int len = strlen(s); > str = new char [len +1] ; strcpy(str, s); > } > > now, wen u do > b= a > > > now a & b will have memory allocated of their own. > > > On Sun, Oct 2, 2011 at 2:21 AM, rahul sharma <rahul23111...@gmail.com>wrote: > >> means if i use like >> >> main() >> { >> int *ptr; >> abc(ptr); >> } >> abc(int *a) >> { >> } >> this is shallow copy >> m i ryt??? >> if yes thne tell xample of deep shallow..otherwise give me examples >> regarding c++....cozxamples clear everythng >> >> >> On Sun, Oct 2, 2011 at 11:00 AM, megha agrawal <megha14.2...@gmail.com>wrote: >> >>> One function passes a pointer to the value of interest to another >>> function. Both functions can access the >>> value of interest, but the value of interest itself is not copied. This >>> communication is >>> called shallow. The alternative where a complete copy is made and sent is >>> known as a "deep" >>> copy. >>> >>> On Sat, Oct 1, 2011 at 7:36 PM, rahul sharma <rahul23111...@gmail.com>wrote: >>> >>>> plz give any c++ xample to xplain bit more >>>> >>>> >>>> On Sat, Oct 1, 2011 at 6:59 PM, Bejoy kalikotay(sikkimesechora....) < >>>> bijaykaliko...@gmail.com> wrote: >>>> >>>>> 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 disasterous >>>>> consequences. >>>>> >>>>> On Oct 1, 4:50 pm, rahul sharma <rahul23111...@gmail.com> wrote: >>>>> > plz xpalin waht is deep and shallow copy in c++ >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Algorithm Geeks" group. >>>>> To post to this group, send email to algogeeks@googlegroups.com. >>>>> To unsubscribe from this group, send email to >>>>> algogeeks+unsubscr...@googlegroups.com. >>>>> For more options, visit this group at >>>>> http://groups.google.com/group/algogeeks?hl=en. >>>>> >>>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Algorithm Geeks" group. >>>> To post to this group, send email to algogeeks@googlegroups.com. >>>> To unsubscribe from this group, send email to >>>> algogeeks+unsubscr...@googlegroups.com. >>>> For more options, visit this group at >>>> http://groups.google.com/group/algogeeks?hl=en. >>>> >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Algorithm Geeks" group. >>> To post to this group, send email to algogeeks@googlegroups.com. >>> To unsubscribe from this group, send email to >>> algogeeks+unsubscr...@googlegroups.com. >>> For more options, visit this group at >>> http://groups.google.com/group/algogeeks?hl=en. >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Algorithm Geeks" group. >> To post to this group, send email to algogeeks@googlegroups.com. >> To unsubscribe from this group, send email to >> algogeeks+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/algogeeks?hl=en. >> > > -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.