|
421 | 421 | \rSec1[expr.arith.conv]{Usual arithmetic conversions}
|
422 | 422 |
|
423 | 423 | \pnum
|
424 |
| -\indextext{conversion!usual arithmetic}% |
425 | 424 | Many binary operators that expect operands of arithmetic or enumeration
|
426 | 425 | type cause conversions and yield result types in a similar way. The
|
427 | 426 | purpose is to yield a common type, which is also the type of the result.
|
428 |
| -This pattern is called the \term{usual arithmetic conversions}, |
| 427 | +This pattern is called the \defnx{usual arithmetic conversions}{conversion!usual arithmetic}, |
429 | 428 | which are defined as follows:
|
430 | 429 |
|
431 | 430 | \begin{itemize}
|
|
4599 | 4598 | \pnum
|
4600 | 4599 | The operands of \tcode{*} and \tcode{/} shall have arithmetic or unscoped
|
4601 | 4600 | enumeration type; the operands of \tcode{\%} shall have integral or unscoped
|
4602 |
| -enumeration type. The usual arithmetic conversions are performed on the |
| 4601 | +enumeration type. The usual arithmetic conversions\iref{expr.arith.conv} are performed on the |
4603 | 4602 | operands and determine the type of the result.
|
4604 | 4603 |
|
4605 | 4604 | \pnum
|
|
4624 | 4623 |
|
4625 | 4624 | \pnum
|
4626 | 4625 | The additive operators \tcode{+} and \tcode{-} group left-to-right. The
|
4627 |
| -usual arithmetic conversions are performed for operands of arithmetic or |
| 4626 | +usual arithmetic conversions\iref{expr.arith.conv} are performed for operands of arithmetic or |
4628 | 4627 | enumeration type.
|
4629 | 4628 |
|
4630 | 4629 | \indextext{operator!addition}%
|
|
4816 | 4815 | \tcode{bool}.
|
4817 | 4816 |
|
4818 | 4817 | \pnum
|
4819 |
| -The usual arithmetic conversions are performed on operands of arithmetic |
| 4818 | +The usual arithmetic conversions\iref{expr.arith.conv} are performed on operands of arithmetic |
4820 | 4819 | or enumeration type. If both operands are pointers, pointer
|
4821 | 4820 | conversions\iref{conv.ptr} and qualification conversions\iref{conv.qual}
|
4822 | 4821 | are performed to bring
|
|
4987 | 4986 |
|
4988 | 4987 | \pnum
|
4989 | 4988 | If both operands are of arithmetic or enumeration type, the usual arithmetic
|
4990 |
| -conversions are performed on both operands; each of the operators shall yield |
| 4989 | +conversions\iref{expr.arith.conv} are performed on both operands; each of the operators shall yield |
4991 | 4990 | \tcode{true} if the specified relationship is true and \tcode{false} if it is
|
4992 | 4991 | false.
|
4993 | 4992 |
|
|
5004 | 5003 | \end{bnf}
|
5005 | 5004 |
|
5006 | 5005 | \pnum
|
5007 |
| -The usual arithmetic conversions are performed; the result is the |
| 5006 | +The usual arithmetic conversions\iref{expr.arith.conv} are performed; the result is the |
5008 | 5007 | bitwise \logop{AND} function of the operands. The operator
|
5009 | 5008 | applies only to integral or unscoped enumeration operands.
|
5010 | 5009 |
|
|
5020 | 5019 | \end{bnf}
|
5021 | 5020 |
|
5022 | 5021 | \pnum
|
5023 |
| -The usual arithmetic conversions are performed; the result is the |
| 5022 | +The usual arithmetic conversions\iref{expr.arith.conv} are performed; the result is the |
5024 | 5023 | bitwise exclusive \logop{OR} function of the operands. The
|
5025 | 5024 | operator applies only to integral or unscoped enumeration operands.
|
5026 | 5025 |
|
|
5036 | 5035 | \end{bnf}
|
5037 | 5036 |
|
5038 | 5037 | \pnum
|
5039 |
| -The usual arithmetic conversions are performed; the result is the |
| 5038 | +The usual arithmetic conversions\iref{expr.arith.conv} are performed; the result is the |
5040 | 5039 | bitwise inclusive \logop{OR} function of its operands. The
|
5041 | 5040 | operator applies only to integral or unscoped enumeration operands.
|
5042 | 5041 |
|
|
5239 | 5238 | that type and the result object is initialized using the selected operand.
|
5240 | 5239 |
|
5241 | 5240 | \item The second and third operands have arithmetic or enumeration type;
|
5242 |
| -the usual arithmetic conversions are performed to bring them to a common |
| 5241 | +the usual arithmetic conversions\iref{expr.arith.conv} are performed to bring them to a common |
5243 | 5242 | type, and the result is of that type.
|
5244 | 5243 |
|
5245 | 5244 | \item One or both of the second and third operands have pointer type;
|
|
0 commit comments