🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.std.c++
Article #887

Re: operator delete modifying pointers?

#887
From: Jim ADCOCK
Date: Wed, 27 Feb 1991 22:04
22 lines
1884 bytes
In article <1991Feb26.015730.15749@world.std.com> wmm@world.std.com (William M Miller) writes:
|jimad@microsoft.UUCP (Jim ADCOCK) writes:
|>        shouldn't overloaded operator deletes also support a first parameter
|> of reference-to-void-pointer, so that programmers can implement their own
|> operator deletes that change pointers to null [or some other value]
|> as a side-effect of deleting via that pointer?
|
|That's an interesting thought.  It's not quite that simple, though, since a
|typed pointer is not compatible with a void*& and, in general, can't be.  On
|some architectures, the representation of an address as a void* is different
|from the representation of that same address expressed as a pointer to some
|other data type.  In order to implement your suggestion, it would require
|that all pointers be required to have the void* representation and would
|introduce an implicit cast of the operand of "delete" to void*& before
|invoking the operator delete().  The latter is just a definitional thing,
|but the former could have significant performance impact.

Okay, points well taken.  Implementations where object pointers are
compatible with void pointers can offer reference-to-void deletes 
-- if so desired, and compilers in general can "automatically" null-out
pointers on delete as a debugging option.  I agree with your arguments
that this shouldn't be "required" of all implementations.
Technical Details
Message-ID: <70936@microsoft.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!microsoft!jimad
References: <70879@microsoft.UUCP> <1991Feb26.015730.15749@world.std.com>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!microsoft!jimad
From: jimad@microsoft.UUCP (Jim ADCOCK)
Newsgroups: comp.std.c++
Subject: Re: operator delete modifying pointers?
Message-ID: <70936@microsoft.UUCP>
Date: 27 Feb 91 22:04:51 GMT
References: <70879@microsoft.UUCP> <1991Feb26.015730.15749@world.std.com>
Reply-To: jimad@microsoft.UUCP (Jim ADCOCK)
Organization: Microsoft Corp., Redmond WA
Lines: 22