[vox-tech] C - passing chars and pointer to chars

Micah J. Cowan micah at cowan.name
Sun Jun 4 11:58:56 PDT 2006


On Sun, Jun 04, 2006 at 09:57:18AM -0500, Ken Bloom wrote:
> On Sunday 04 June 2006 09:05, Peter Jay Salzman wrote:
> > On Sat 03 Jun 06, 10:27 PM, Ken Bloom <kbloom at gmail.com> said:
> > > Cue, the **Fundemental axiom of the C++ type system**, stated as
> > > follows:
> > >   A* is automaitcally convertable to B* if and only if A is a B.
> > >   (Likewise for pass by reference).
> > >
> > > (this is my own generalization though, and there may actually be
> > > exceptions)
> 
> >
> > Although this was interesting to read, it doesn't say much other than
> > to restate my observation in a more sophisticated way.
> 
> IMO, all that matters is that the axiom is the reason.

Except the axiom is rather far from the truth, only an ideal.

C++ is more strongly typed than C. I am not a language theorist, but I
believe it is still not considered "strongly typed".

The ability to silently convert from int to char (your compiler might
actually complain about it in some circumstances: a compiler is allowed
to complain about whatever the hell it wants, but there's no requirement
to here, and in most cases, it won't) illustrates one exception,
certainly.

The reality, though, isn't far from what you state: "all that matters is
that the Standard is the reason". If the Standard dictates you must
issue a diagnostic when such-and-such is attempted, by golly, you will
(except that historically, GCC has ignored this when they "don't feel
like it"; thus the reason for the -pedantic switch).

-- 
Micah J. Cowan
Programmer, musician, typesetting enthusiast, gamer...
http://micah.cowan.name/


More information about the vox-tech mailing list