delete and references?

Jarrett Billingsley jarrett.billingsley at gmail.com
Sat Aug 8 07:28:23 PDT 2009


On Sat, Aug 8, 2009 at 9:42 AM, Andrei
Alexandrescu<SeeWebsiteForEmail at erdani.org> wrote:
> Jarrett Billingsley wrote:
>>
>> On Sat, Aug 8, 2009 at 9:17 AM, Andrei
>> Alexandrescu<SeeWebsiteForEmail at erdani.org> wrote:
>>>
>>> FWIW, I am trying to convince Walter to not reclaim memory in delete, but
>>> instead only call destructors. D continues C++'s mistake of conflating
>>> lifetime termination with memory reclamation.
>>
>> Why?  Instead of dangling pointers, you'd end up with pointers to
>> finalized objects, which would probably lead to harder-to-catch bugs
>> (since then you wouldn't even get a segfault).
>
> Getting a segfault == lucky

And the alternative - using a "dead" object - is any better?

>> And what if you used it to try to delete a temporary array?  Yes, you
>> could use malloc/free for the temp array, but.. it just seems silly to
>> have to dip into C functions to do that.
>
> Why? It's not a frequent need.

That's enough of a justification to change delete's behavior?

I just don't know why it should be changed.  It's a blunt tool for
blunt uses.  When you delete something, you're telling the GC "I don't
need this anymore, *trust me*", so *not* freeing memory associated
with it seems silly.



More information about the Digitalmars-d mailing list