N
Noah Roberts
Surely you must realize that you have chosen to make a point to debate the
wording of his statement rather than the subjectively misarticulated meaning of
his response with regards to the former example.
In my opinion I didn't "miss-articulate". The void* type is an "opaque
type" rather than a pointer. The standard calls it "pointer to void"
but as we all know there's no such thing as a "void object". The
standard also has all kinds of special clauses for this type. Alf has
also already claimed that the standard is not useful in defining
conversational language about C++. The only alternative that I can
think of is to speak in concepts.
The standard calls anything that looks like "type*" as a "pointer type".
Alf doesn't like using the standard for the definition of "pointer" so
I gave him a different one based on generic programming (and I was quite
explicit about it by calling "pointer" a concept). Such a definition is
perfectly consistent and allows for "smart pointers" (which Alf claimed
needed to be included) but is not *perfectly* consistent with the
language of the standard, which Alf has already discounted as authority
on this matter.
Alf on the other hand has not provided any other definition of pointer
that has any consistency. All he's done is say that "type*" can be a
pointer to array if the address it contains happens to be part of an
array. There's no useful definition of "pointer" that would seem to
allow for this. His only response to my explanation was to call it
silly and run back to the language of the standard (which seems to only
apply when it suits him).
We can either agree to the language of the standard, in which case void*
is a pointer that points at void and smart pointers are not pointers at
all, or we can use something else useful to talk about "things that
point at stuff". In this later regard we can think of multiple reasons
why "void*" is inconsistent with the concept of "pointer"; one
particularly reasonable example of this is that iterator_traits cannot
be instantiated on this type and iterators are pretty much the
definition of "pointer" as a concept.
Alf has called the former too "pedantic and useless" but has yet to
provide a useful alternative. I tried and got a pile of troll-shit for
thanks. Frankly I don't care if he wishes to continue asserting
absurdities and calling them truth and he can live in my killfile now.