From: "Rafał Maj" Newsgroups: comp.os.msdos.djgpp Subject: FINALY: delete/delete[] with build-in-types/user-classes Date: Sun, 17 Sep 2000 10:00:28 +0200 Organization: Academic Computer Center CYFRONET AGH Lines: 25 Message-ID: <8q1tn2$iv6$1@info.cyf-kr.edu.pl> NNTP-Posting-Host: d-94-53-20.cyfronet.krakow.pl X-Trace: info.cyf-kr.edu.pl 969177634 19430 149.156.1.180 (17 Sep 2000 08:00:34 GMT) X-Complaints-To: news AT cyf-kr DOT edu DOT pl NNTP-Posting-Date: 17 Sep 2000 08:00:34 GMT X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.00.2615.200 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Hi, because my last question about delete / delete[] caused big discusion with meany diffrent opinions, I wan't to check, if finaly I understand it... (probably not ;) 1) "s" is a pointer to array, maked like: myclass* s = new myclass[100]; a) delete []s will not only free memory, but alsow call destructor for each of 100 objects "myclass" b) using delete s; is probably wrong, because none destructor will be called. But all memory 100*sizeof(myclass) will be freed ? 2) with char *s = new char[100] I can use : a) delete []s; but it isn't necessarly, when char doesn't have any destructor b) delete s; is good 3) and what with char* s = malloc(sizeof(char)*100); ? a) free - typical b) can I use delete ? c) can I use delete [] ? 4) because strdup() uses malloc, char *s=strdup(S); should be "deleted" same way as in question 3 Many Thanks, Rafal