comp.lang.c
[Top] [All Lists]

Re: Is cast operator unary or binary? How many operands?

Subject: Re: Is cast operator unary or binary? How many operands?
From: JoseMariaSola
Date: Wed, 30 Apr 2008 04:43:29 -0700 PDT
Newsgroups: comp.lang.c

On Apr 29, 5:31 pm, rich...@xxxxxxxxxxxxxxx (Richard Tobin) wrote:
> In article 
> <13115f63-fd53-4436-879d-4dab6f0fc...@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
>
> JoseMariaSola  <JoseMariaS...@xxxxxxxxx> wrote:
> >But in the case of cast the (only) operand is the expression the left,
> >not the type-name.
>
> I see, you want to consider, say, (int) as an operator with a single
> operand, rather than (int)x containing an operator with two operands,
> "int" and "x".
>
> This would imply an infinite number of operators, which is not
> out of the question but doesn't seem to offer any advantage.
>
> >Talking with you both I notice that every operator requires
> >expressions as operands, and type-name is not an expression. Am I
> >right?
>
> The two traditional uses of "( type-name )" - in casts and sizeof -
> and the new use in C99 - in compound literals - are indeed
> exceptional.  I previously suggested that we could factor out
>
>   type-expression:
>      ( type-name )
>
> which would make sizeof in particular more regular:
>
>   unary-expression:
>      ...
>      sizeof unary-expression
>      sizeof type-expression
>
> -- Richard
> --
> :wq

Thanks, Richard.

So both following expressions have one operator and one operand?
  sizeof(int)
  (int)x

typename is considered an operand in the firs expressin but not in the
second one?

JM.

<Prev in Thread] Current Thread [Next in Thread>
Privacy Policy