kanner@Apple.COM (Herbert Kanner) (07/26/89)
I wonder what the formal language rule is which forces the following
interpretation on
int *&pl;
namely: "pl is a reference to a pointer to an integer." What disallows
the interpretation
int *(&pl); i.e. int pl;?
Finally, how about
int &*pl;
Is pl here a pointer to a reference to an integer?
--
Herb Kanner
Apple Computer, Inc.
{idi,nsc}!apple!kanner
kanner@apple.comdan@oresoft.uu.net (Daniel Elbaum) (07/27/89)
In article <3079@internal.Apple.COM> kanner@Apple.COM (Herbert Kanner) writes:
:I wonder what the formal language rule is which forces the following
:interpretation on
:
: int *&pl;
:
:namely: "pl is a reference to a pointer to an integer." What disallows
:the interpretation
:
: int *(&pl); i.e. int pl;?
int *&pl;
is illegal, since a reference delarator must generally be followed
by an initializer. A reference is not a pointer but an alias;
given
int *ip;
int &pr = ip;
*pr === *ip and &pr === &ip.
Since a reference cannot exist in a vacuum, declaring
a name for the value of the antecedent of a vacuous
reference can have no meaning.
:Finally, how about
:
: int &*pl;
:
:Is pl here a pointer to a reference to an integer?
It parses that way, but since there's no such thing as
a pointer to a reference, such a declaration can't be used.
--
The workaday world must remain transparent to those who maintain it if
they are to find inspired within them a vision of the history they create.
({uunet,tektronix,reed,sun!nosun,osu-cis,psu-cs}!oresoft!(dan)@oresoft.uu.net)