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: Richard Tobin
Date: 29 Apr 2008 20:31:36 GMT
Newsgroups: comp.lang.c

In article <13115f63-fd53-4436-879d-4dab6f0fcd84@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
JoseMariaSola  <JoseMariaSola@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

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