ngo@tammy.harvard.edu (Tom Ngo) (04/16/91)
Here's an interesting C++ statement. What does it mean?
int &const r;
Hopefully your answer is that it is illegal and/or meaningless. If
so, look in ARM 8.2.2 [References], which states:
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."
And, of course, a cv-qualifier can be const or volatile.
What is a const reference??!? Is this an error in the ARM, or have I
totally misunderstood references?
--
Tom Ngo
ngo@harvard.harvard.edu
617/495-1768 lab number, leave messagefuchs@t500e0.telematik.informatik.uni-karlsruhe.de (Harald Fuchs) (04/16/91)
ngo@tammy.harvard.edu (Tom Ngo) writes: >Here's an interesting C++ statement. What does it mean? > int &const r; >Hopefully your answer is that it is illegal and/or meaningless. If >so, look in ARM 8.2.2 [References], which states: > 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." >And, of course, a cv-qualifier can be const or volatile. >What is a const reference??!? Is this an error in the ARM, or have I >totally misunderstood references? "No" to both questions. A reference is always constant, so "int&const r" is just a more verbose alternative to "int& r". Why bother with explicitly disallowing redundancies? See the original Stroustrup bible for details. -- Harald Fuchs <fuchs@t500e0.telematik.informatik.uni-karlsruhe.de>