This is the mail archive of the
mailing list for the Cygwin project.
RE: new vs malloc, was BUG - Cygwin to GNU CC compatibility
- From: Randall R Schulz <rrschulz at cris dot com>
- To: cygwin at cygwin dot com
- Date: Tue, 06 Aug 2002 19:17:34 -0700
- Subject: RE: new vs malloc, was BUG - Cygwin to GNU CC compatibility
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?
Mountain View, CA USA
At 18:28 2002-08-06, Ross Smith wrote:
> From: Samuel [mailto:firstname.lastname@example.org]
> From: "Ross Smith" <email@example.com>
> > 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.
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html