Re: free()
- From: rlb@xxxxxxxxxxxxxxxxxxxxxx (Richard Bos)
- Date: Tue, 13 Feb 2007 17:04:17 GMT
"santosh" <santosh.k83@xxxxxxxxx> wrote:
Racaille wrote:
On Feb 10, 2:13 pm, "santosh" <santosh....@xxxxxxxxx> wrote:
things yourself. One safe practise is to immediately set a pointer to
NULL after calling free() on it. Passing a null pointer to free() is
harmless.
this is a very bad idea.
instead of having your code crash like hell in the first phases of debugging,
which will allow you to fix the thing quick & properly, you will happily
call free() many times on the same pointer, and build crap around that broken
logic, and then call for a garbage collector :)
I argue that attempting to ensure that pointers are either null or
have legally deferencible values is better.
The problem with that is "attempting". You will, sooner or later, fail
in your attempt. And then, because you believe that all your pointers
are either null or valid, you will not be able to find the bug until
someone else points it out to you. Making sure that you know which of
your pointers are still in use _is_ possible, and does not have this
problem.
Richard
.
- Follow-Ups:
- Re: free()
- From: Ian Collins
- Re: free()
- References:
- free()
- From: dbansal
- Re: free()
- From: santosh
- Re: free()
- From: Racaille
- Re: free()
- From: santosh
- free()
- Prev by Date: Re: Optimization of if
- Next by Date: Re: anti-aliasing
- Previous by thread: Re: free()
- Next by thread: Re: free()
- Index(es):
Relevant Pages
|