|
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