Typeof operator in C (Re: An Interesting View of "Strong" Vs. "Weak" Typing)
Blair P. Houghton
bph at buengc.BU.EDU
Sun Jan 14 09:09:38 AEST 1990
In article <-K016ODxds13 at ficc.uu.net> peter at ficc.uu.net (Peter da Silva) writes:
>and Discredits someone else:
>> This last sentence bothers me. It would be quite simple to implement
>> a C operator such as "(typeof) x" that returns some representation of
>> the type of the variable x.
>
>I think this would be a worthwhile innovation, and one that's as easy
>to implement as sizeof. It wouldn't return a value, but would be used
>anywhere a type could be used.
>
>I realise this isn't quite what's meant here. An operator to return
>some indication of the type of an object would be useful, but I'm not
>sure what it'd return. A small integer? A structure? A pointer to a
>structure? The "type" of a C object can be very complex... what would
>it return for:
Where's the struct identifier?
|
> struct {
> union uabc {
[...edited for television...]
> } x;
Well, since you didn't give it a name, I'd expect it would
make one up and plop it on the symbol table. And then
when you asked for typeof x, it would give back
`struct _T_aaa' or something similar.
>But a typeof operator... wouldn't that be something...
>
>#define SWAP(a,b) {typeof a tmp; tmp=a; a=b; b=tmp}
Oboy. Saved a few char's in the source code...
--Blair
"But what would it return for
`typeof( &a + &b )'? or is that
too daffy an idea? Hi, Doug.:-)"
More information about the Comp.lang.c
mailing list