From Jason Turner

[expr.post.incr]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpez8i6xnp/{from.md → to.md} +25 -15
tmp/tmpez8i6xnp/{from.md → to.md} RENAMED
@@ -1,21 +1,31 @@
1
  ### Increment and decrement <a id="expr.post.incr">[[expr.post.incr]]</a>
2
 
3
- The value of a postfix `++` expression is the value of its operand. the
4
- value obtained is a copy of the original value The operand shall be a
5
- modifiable lvalue. The type of the operand shall be an arithmetic type
6
- or a pointer to a complete object type. The value of the operand object
7
- is modified by adding `1` to it, unless the object is of type `bool`, in
8
- which case it is set to `true`. this use is deprecated, see Annex 
9
- [[depr]]. The value computation of the `++` expression is sequenced
10
- before the modification of the operand object. With respect to an
 
 
11
  indeterminately-sequenced function call, the operation of postfix `++`
12
- is a single evaluation. Therefore, a function call shall not intervene
13
- between the lvalue-to-rvalue conversion and the side effect associated
14
- with any single postfix ++ operator. The result is a prvalue. The type
15
- of the result is the cv-unqualified version of the type of the operand.
16
- See also  [[expr.add]] and  [[expr.ass]].
 
 
 
 
 
 
17
 
18
  The operand of postfix `\dcr` is decremented analogously to the postfix
19
- `++` operator, except that the operand shall not be of type `bool`. For
20
- prefix increment and decrement, see  [[expr.pre.incr]].
 
 
21
 
 
1
  ### Increment and decrement <a id="expr.post.incr">[[expr.post.incr]]</a>
2
 
3
+ The value of a postfix `++` expression is the value of its operand.
4
+
5
+ [*Note 1*: The value obtained is a copy of the original
6
+ value *end note*]
7
+
8
+ The operand shall be a modifiable lvalue. The type of the operand shall
9
+ be an arithmetic type other than cv `bool`, or a pointer to a complete
10
+ object type. The value of the operand object is modified by adding `1`
11
+ to it. The value computation of the `++` expression is sequenced before
12
+ the modification of the operand object. With respect to an
13
  indeterminately-sequenced function call, the operation of postfix `++`
14
+ is a single evaluation.
15
+
16
+ [*Note 2*: Therefore, a function call shall not intervene between the
17
+ lvalue-to-rvalue conversion and the side effect associated with any
18
+ single postfix ++ operator. — *end note*]
19
+
20
+ The result is a prvalue. The type of the result is the cv-unqualified
21
+ version of the type of the operand. If the operand is a bit-field that
22
+ cannot represent the incremented value, the resulting value of the
23
+ bit-field is *implementation-defined*. See also  [[expr.add]] and 
24
+ [[expr.ass]].
25
 
26
  The operand of postfix `\dcr` is decremented analogously to the postfix
27
+ `++` operator.
28
+
29
+ [*Note 3*: For prefix increment and decrement, see 
30
+ [[expr.pre.incr]]. — *end note*]
31