Boost logo

Boost :

From: Alexander Nasonov (alnsn-mycop_at_[hidden])
Date: 2003-05-14 06:41:10


Markus Werle wrote:

> Hi!
>
> In one of Herb Sutters articles I saw that
> after deleting a pointer (a pimpl) he assigns 0 afterwards
> which seems to me like a good idea.
> (see e.g. http://www.gotw.ca/gotw/028.htm or http://tinyurl.com/bq8o)
>
> Maybe there is a good reason (efficiency?)
> why checked_delete omits this extra step.
> Please explain.
>
> template<class T> inline void checked_delete(T * x)
> {
> typedef char type_must_be_complete[sizeof(T)];
> delete x;
> // why not ?
> x = 0;
> }
>

checked_delete only checks, it doesn't improve you code :)
Seriously, the question can be redirected to C++98 level: why delete
operator doesn't assign deleted pointer to 0? I'm sure it has already been
discussed. You can search for the topic in comp.std.c++ and
comp.lang.c++.moderated.

-- 
Alexander Nasonov
Remove minus and all between minus and at from my e-mail for timely response

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk