tmp/tmpta0qrca8/{from.md → to.md}
RENAMED
|
@@ -1,12 +1,14 @@
|
|
| 1 |
### Lvalue-to-rvalue conversion <a id="conv.lval">[[conv.lval]]</a>
|
| 2 |
|
| 3 |
A glvalue [[basic.lval]] of a non-function, non-array type `T` can be
|
| 4 |
-
converted to a prvalue.[^5]
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
|
|
|
|
|
|
| 8 |
|
| 9 |
When an lvalue-to-rvalue conversion is applied to an expression E, and
|
| 10 |
either
|
| 11 |
|
| 12 |
- E is not potentially evaluated, or
|
|
@@ -41,13 +43,12 @@ rules:
|
|
| 41 |
`T` is volatile-qualified [[intro.execution]], and the glvalue can
|
| 42 |
refer to an inactive member of a union [[class.union]]. — *end note*]
|
| 43 |
- Otherwise, if `T` has a class type, the conversion copy-initializes
|
| 44 |
the result object from the glvalue.
|
| 45 |
- Otherwise, if the object to which the glvalue refers contains an
|
| 46 |
-
invalid pointer value
|
| 47 |
-
|
| 48 |
-
*implementation-defined*.
|
| 49 |
- Otherwise, the object indicated by the glvalue is read
|
| 50 |
[[defns.access]], and the value contained in the object is the prvalue
|
| 51 |
result.
|
| 52 |
|
| 53 |
[*Note 2*: See also [[basic.lval]]. — *end note*]
|
|
|
|
| 1 |
### Lvalue-to-rvalue conversion <a id="conv.lval">[[conv.lval]]</a>
|
| 2 |
|
| 3 |
A glvalue [[basic.lval]] of a non-function, non-array type `T` can be
|
| 4 |
+
converted to a prvalue.[^5]
|
| 5 |
+
|
| 6 |
+
If `T` is an incomplete type, a program that necessitates this
|
| 7 |
+
conversion is ill-formed. If `T` is a non-class type, the type of the
|
| 8 |
+
prvalue is the cv-unqualified version of `T`. Otherwise, the type of the
|
| 9 |
+
prvalue is `T`.[^6]
|
| 10 |
|
| 11 |
When an lvalue-to-rvalue conversion is applied to an expression E, and
|
| 12 |
either
|
| 13 |
|
| 14 |
- E is not potentially evaluated, or
|
|
|
|
| 43 |
`T` is volatile-qualified [[intro.execution]], and the glvalue can
|
| 44 |
refer to an inactive member of a union [[class.union]]. — *end note*]
|
| 45 |
- Otherwise, if `T` has a class type, the conversion copy-initializes
|
| 46 |
the result object from the glvalue.
|
| 47 |
- Otherwise, if the object to which the glvalue refers contains an
|
| 48 |
+
invalid pointer value [[basic.stc.dynamic.deallocation]], the behavior
|
| 49 |
+
is *implementation-defined*.
|
|
|
|
| 50 |
- Otherwise, the object indicated by the glvalue is read
|
| 51 |
[[defns.access]], and the value contained in the object is the prvalue
|
| 52 |
result.
|
| 53 |
|
| 54 |
[*Note 2*: See also [[basic.lval]]. — *end note*]
|