Assuming a class A has a member variable(which is an object rather than a reference) m. Naturally I will think that: When I defined an object 'o1', then the Expression 'o1.m' is an object type either; When I defined a reference 'q1', then the Expression 'q1.m' is a reference type either.
Is that conclusion correct? I'm wondering what any relative clauses are in C++ standard document if it is true(I've been searching for it/them for one more days already but got almost all about 'reference as member of class' so far)?
Take a look at §5.2.5 (Class member access in Postfix Expressions, from N3797 C++14 Draft):
The standard says nothing about E2 becoming a reference even if E1 is. To be explicit, if E1 is a reference type and E2 is not, E1.E2 is not a reference type.