Re: Logical Value Of A Pointer
On Feb 8, 10:06 pm, "Andrew Koenig" <a...@acm.org> wrote:
"James Kanze" <james.ka...@gmail.com> wrote in message
news:1926fe2e-c568-4903-b354-0ebaf3490897@v5g2000prm.googlegroups.com...
I think that the widespread adoption STL iterator idiom makes
this even more important. I don't write:
if ( iter && iter->... )
, for the obvious reason that I can't. People expect to see
a comparison when an iterator is used, and this expectation
carries over to pointers.
If you feel that way, then you shouldn't be writing
if (p != NULL)
either because there is no equivalent to a null pointer in the
iterator universe.
I don't use it very often; for reasons of consistency, I tend to
use the iterator idioms even when dealing with pointers. (Even
if I think that the idiom is not very optimal.) But you're
missing my point entirely---a pointer isn't a bool, because it
has more than two values. And because you can compare it to
many different things, you should state what you're comparing it
to. (I don't approve of things like "if ( booleanVariabe ==
true )", for example. That shows a lack of understanding of the
type system. Just like "if (p)":-).)
--
James Kanze (GABI Software) email:james.kanze@gmail.com
Conseils en informatique orient=E9e objet/
Beratung in objektorientierter Datenverarbeitung
9 place S=E9mard, 78210 St.-Cyr-l'=C9cole, France, +33 (0)1 30 23 00 34