This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: new vs malloc, was BUG - Cygwin to GNU CC compatibility


Ross, Samuel,

We can agree that regardless of the specific manifestation of multiple invocations of "delete" on any given pointer returned by "new," doing so is erroneous. And that is a universal fact of C++ programming.

Perhaps we should avoid a generic C++ API / data structure philosophy debate here in the Cygwin list, OK?

Randall Schulz
Mountain View, CA USA


At 18:28 2002-08-06, Ross Smith wrote:
> From: Samuel [mailto:samuel@socal.rr.com]
>
> From: "Ross Smith" <rosss@pharos.co.nz>
> >
> > No user code should ever use "delete"; it should only appear in the
> > implementation of a container or smart pointer.
>
> What? I must misunderstand what is meant, since user code
> must always use
> "delete" for each "new", unless the documentation of a
> function clearly
> states that it is the function's responsibility to "delete".

This is what smart pointers (std::auto_ptr, boost::shared_ptr, etc) are
for. Anything allocated by new should always be held by a smart pointer
that will handle deletion automatically, never a raw pointer.

--
Ross Smith

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]