Rvalues, lvalues and formal definitions

Some preliminary paragraphs first: [basic] 3 An entity is a value, object, reference, function, enumerator, type, class member, template, template specialization, namespace, parameter pack, or this. [dcl.type.simple] 4 The type denoted by decltype(e) is defined as follows: if e is an unparenthesized id-expression or an unparenthesized class member access ([expr.ref]), decltype(e) is the type of … Read more