tmp/tmp_6v9ffgb/{from.md → to.md}
RENAMED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#### Unqualified names <a id="expr.prim.id.unqual">[[expr.prim.id.unqual]]</a>
|
| 2 |
+
|
| 3 |
+
``` bnf
|
| 4 |
+
unqualified-id:
|
| 5 |
+
identifier
|
| 6 |
+
operator-function-id
|
| 7 |
+
conversion-function-id
|
| 8 |
+
literal-operator-id
|
| 9 |
+
'~' class-name
|
| 10 |
+
'~' decltype-specifier
|
| 11 |
+
template-id
|
| 12 |
+
```
|
| 13 |
+
|
| 14 |
+
An *identifier* is an *id-expression* provided it has been suitably
|
| 15 |
+
declared (Clause [[dcl.dcl]]).
|
| 16 |
+
|
| 17 |
+
[*Note 1*: For *operator-function-id*s, see [[over.oper]]; for
|
| 18 |
+
*conversion-function-id*s, see [[class.conv.fct]]; for
|
| 19 |
+
*literal-operator-id*s, see [[over.literal]]; for *template-id*s, see
|
| 20 |
+
[[temp.names]]. A *class-name* or *decltype-specifier* prefixed by `~`
|
| 21 |
+
denotes a destructor; see [[class.dtor]]. Within the definition of a
|
| 22 |
+
non-static member function, an *identifier* that names a non-static
|
| 23 |
+
member is transformed to a class member access expression (
|
| 24 |
+
[[class.mfct.non-static]]). — *end note*]
|
| 25 |
+
|
| 26 |
+
The type of the expression is the type of the *identifier*. The result
|
| 27 |
+
is the entity denoted by the identifier. The expression is an lvalue if
|
| 28 |
+
the entity is a function, variable, or data member and a prvalue
|
| 29 |
+
otherwise; it is a bit-field if the identifier designates a bit-field (
|
| 30 |
+
[[dcl.struct.bind]]).
|
| 31 |
+
|