Re: Is cast operator unary or binary? How many operands?
- From: JoseMariaSola <JoseMariaSola@xxxxxxxxx>
- Date: Tue, 29 Apr 2008 09:47:18 -0700 (PDT)
I'd say one operator, the cast operator, and two operands: typename
and expression.
But everywhere I read, cast is categorized as an unary operator. Why
is that? Is it just a syntax cotegory?
(typename)(expression) has one operator `(typename)' and one operand
`(expression)'.
The reason the type is enclosed in parentheses (as a design decision)
is probably to avoid ambiguity, consider this:
int i = 1; /* define and initialize i to 1 */
{
int i; /* cast i to int, a statement with no effect, or define i in
block scope? */
}
Thanks, Vipps.
According to your answeer, the operator '(typename)' is very
particular, because it not a single token but three AND the middle
token is anything an identifier may be.
JM.
.
- Follow-Ups:
- Re: Is cast operator unary or binary? How many operands?
- From: JoseMariaSola
- Re: Is cast operator unary or binary? How many operands?
- References:
- Is cast operator unary or binary? How many operands?
- From: JoseMariaSola
- Re: Is cast operator unary or binary? How many operands?
- From: vippstar
- Is cast operator unary or binary? How many operands?
- Prev by Date: Re: 128 bit integer code needed
- Next by Date: Re: need help with arrays
- Previous by thread: Re: Is cast operator unary or binary? How many operands?
- Next by thread: Re: Is cast operator unary or binary? How many operands?
- Index(es):
Relevant Pages
|
|