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 message
fuchs@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>