tmp/tmpy3ozjdvb/{from.md → to.md}
RENAMED
|
@@ -2,15 +2,15 @@
|
|
| 2 |
|
| 3 |
The unary `*` operator performs *indirection*: the expression to which
|
| 4 |
it is applied shall be a pointer to an object type, or a pointer to a
|
| 5 |
function type and the result is an lvalue referring to the object or
|
| 6 |
function to which the expression points. If the type of the expression
|
| 7 |
-
is “pointer to `T`,” the type of the result is “`T`.”
|
| 8 |
-
incomplete type (other than *cv* `void`)
|
| 9 |
-
thus obtained can be used in limited ways (to
|
| 10 |
-
for example); this lvalue must not be converted
|
| 11 |
-
[[conv.lval]].
|
| 12 |
|
| 13 |
The result of each of the following unary operators is a prvalue.
|
| 14 |
|
| 15 |
The result of the unary `&` operator is a pointer to its operand. The
|
| 16 |
operand shall be an lvalue or a *qualified-id*. If the operand is a
|
|
@@ -42,14 +42,14 @@ from a *qualified-id* for a non-static member function to the type
|
|
| 42 |
“pointer to member function” as there is from an lvalue of function type
|
| 43 |
to the type “pointer to function” ([[conv.func]]). Nor is
|
| 44 |
`&unqualified-id` a pointer to member, even within the scope of the
|
| 45 |
*unqualified-id*’s class.
|
| 46 |
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
|
| 52 |
The address of an overloaded function (Clause [[over]]) can be taken
|
| 53 |
only in a context that uniquely determines which version of the
|
| 54 |
overloaded function is referred to (see [[over.over]]). since the
|
| 55 |
context might determine whether the operand is a static or non-static
|
|
|
|
| 2 |
|
| 3 |
The unary `*` operator performs *indirection*: the expression to which
|
| 4 |
it is applied shall be a pointer to an object type, or a pointer to a
|
| 5 |
function type and the result is an lvalue referring to the object or
|
| 6 |
function to which the expression points. If the type of the expression
|
| 7 |
+
is “pointer to `T`,” the type of the result is “`T`.” indirection
|
| 8 |
+
through a pointer to an incomplete type (other than *cv* `void`) is
|
| 9 |
+
valid. The lvalue thus obtained can be used in limited ways (to
|
| 10 |
+
initialize a reference, for example); this lvalue must not be converted
|
| 11 |
+
to a prvalue, see [[conv.lval]].
|
| 12 |
|
| 13 |
The result of each of the following unary operators is a prvalue.
|
| 14 |
|
| 15 |
The result of the unary `&` operator is a pointer to its operand. The
|
| 16 |
operand shall be an lvalue or a *qualified-id*. If the operand is a
|
|
|
|
| 42 |
“pointer to member function” as there is from an lvalue of function type
|
| 43 |
to the type “pointer to function” ([[conv.func]]). Nor is
|
| 44 |
`&unqualified-id` a pointer to member, even within the scope of the
|
| 45 |
*unqualified-id*’s class.
|
| 46 |
|
| 47 |
+
If `&` is applied to an lvalue of incomplete class type and the complete
|
| 48 |
+
type declares `operator&()`, it is unspecified whether the operator has
|
| 49 |
+
the built-in meaning or the operator function is called. The operand of
|
| 50 |
+
`&` shall not be a bit-field.
|
| 51 |
|
| 52 |
The address of an overloaded function (Clause [[over]]) can be taken
|
| 53 |
only in a context that uniquely determines which version of the
|
| 54 |
overloaded function is referred to (see [[over.over]]). since the
|
| 55 |
context might determine whether the operand is a static or non-static
|