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" 

Reply via email to