tmp/tmp83768btq/{from.md → to.md}
RENAMED
|
@@ -1,22 +0,0 @@
|
|
| 1 |
-
### Pseudo destructor call <a id="expr.pseudo">[[expr.pseudo]]</a>
|
| 2 |
-
|
| 3 |
-
The use of a *pseudo-destructor-name* after a dot `.` or arrow `->`
|
| 4 |
-
operator represents the destructor for the non-class type denoted by
|
| 5 |
-
*type-name* or *decltype-specifier*. The result shall only be used as
|
| 6 |
-
the operand for the function call operator `()`, and the result of such
|
| 7 |
-
a call has type `void`. The only effect is the evaluation of the
|
| 8 |
-
*postfix-expression* before the dot or arrow.
|
| 9 |
-
|
| 10 |
-
The left-hand side of the dot operator shall be of scalar type. The
|
| 11 |
-
left-hand side of the arrow operator shall be of pointer to scalar type.
|
| 12 |
-
This scalar type is the object type. The *cv*-unqualified versions of
|
| 13 |
-
the object type and of the type designated by the
|
| 14 |
-
*pseudo-destructor-name* shall be the same type. Furthermore, the two
|
| 15 |
-
*type-name*s in a *pseudo-destructor-name* of the form
|
| 16 |
-
|
| 17 |
-
``` bnf
|
| 18 |
-
nested-name-specifierₒₚₜ type-name ':: ~' type-name
|
| 19 |
-
```
|
| 20 |
-
|
| 21 |
-
shall designate the same scalar type (ignoring cv-qualification).
|
| 22 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|