At 13:52 2006-12-28, you wrote: >--- In [email protected], "Paul Herring" <[EMAIL PROTECTED]> wrote: > > > > On 12/28/06, Nico Heinze <[EMAIL PROTECTED]> wrote: > > > > > 4) I know that many people don't trust my words here, > > > but the result of mixing new/delete with malloc/calloc/free > > > is compiler and runtime specific; sometimes it works without > > > hassle, in other cases it can easily kill your server > > > applications without any chance to find out why. > > > > It is perfectly Legal[tm] to have both new/delete and > > malloc/free in the same program. What is undefined is > > deleting a malloced pointer and freeing a newed pointer. > > (And incidentally, and slightly OT, is delete[]ing a newed > > pointer and deleting a new[]ed pointer) ><snip> > >Though it is legal, I have experienced a case where using new/delete >and malloc()/free() in the same program crashed the application. >After having removed all free() calls and re-ordered everything such >that only a very few malloc() calls took place at the beginning of the >application and afterwards only new/delete were used, everything ran >fine until I had to upgrade from Sun Forte 4.0 to Forte 5; at that >point I had to get rid of the malloc() stuff completely, otherwise I >would not have been able to upgrade the remainder of the application. > >In short: even though it's legal, never rely on malloc()/free() and >new/delete working within the same application. It might work for your >system, but it need not.
yes it _need_ to. the standard says it will work. If it didn't for you, you had a bad compiler system. >Regards, >Nico > > > >To unsubscribe, send a blank message to ><mailto:[EMAIL PROTECTED]>. >Yahoo! Groups Links > > > Victor A. Wagner Jr. http://rudbek.com The five most dangerous words in the English language: "There oughta be a law"
