ngo@tammy.harvard.edu (Tom Ngo) (03/25/91)
I'm confused. I just read in ARM 8.2.2 [References]:
In a declaration T D where D has the form
& cv-qualifier-list-opt D1
the type of the contained identifier is "... cv-qualifier-list
reference to T."
I cannot imagine what the cv-qualifiers do! In the case of a pointer,
we read ARM 8.2.1 [Pointers]:
In a declaration T D where D has the form
* cv-qualifer-list-opt D1
the type of the contained identifier is "... cv-qualifer-list
pointer to T." The cv-qualifiers apply to the pointer and not to
the object pointed to.
and of course that makes total sense. But how could cv-qualifiers
apply to a reference?
const int& i; // reference to const int
int &const j; // const reference to int?
What restrictions are there on j? We already know that j cannot be
made to refer to a different object since in ARM 8.4.3 [References] we
have
A variable declared to be a T& ... must be initialized .... A
reference cannot be changed to refer to another object after
initialization.
I would appreciate responses by email, and I will summarize. No doubt
I will be flooded by replies that say "No, no, you are totally
misunderstanding references!"
Thanks in advance...
--Tom
--
Tom Ngo
ngo@harvard.harvard.edu
617/495-1768 lab number, leave message