|
7764 | 7764 | A \defnadj{constant}{expression} is either
|
7765 | 7765 | a glvalue core constant expression that refers to
|
7766 | 7766 | an entity that is a permitted result of a constant expression (as defined below), or
|
7767 |
| -a prvalue core constant expression whose value |
| 7767 | +a prvalue core constant expression whose result object\iref{basic.lval} |
7768 | 7768 | satisfies the following constraints:
|
7769 | 7769 | \begin{itemize}
|
7770 | 7770 | \item
|
7771 |
| - if the value is an object of class type, |
| 7771 | + if the result object is an object of class type, |
7772 | 7772 | each non-static data member of reference type refers to
|
7773 | 7773 | an entity that is a permitted result of a constant expression,
|
7774 | 7774 |
|
7775 | 7775 | \item
|
7776 |
| - if the value is an object of scalar type, |
| 7776 | + if the result object is an object of scalar type, |
7777 | 7777 | it does not have an indeterminate value\iref{basic.indet},
|
7778 | 7778 |
|
7779 | 7779 | \item
|
7780 |
| - if the value is of pointer type, it contains |
| 7780 | + if the result object is of pointer type, it contains |
7781 | 7781 | the address of an object with static storage duration,
|
7782 | 7782 | the address past the end of such an object\iref{expr.add},
|
7783 | 7783 | the address of a non-immediate function,
|
7784 | 7784 | or a null pointer value,
|
7785 | 7785 |
|
7786 | 7786 | \item
|
7787 |
| - if the value is of pointer-to-member-function type, |
| 7787 | + if the result object is of pointer-to-member-function type, |
7788 | 7788 | it does not designate an immediate function, and
|
7789 | 7789 |
|
7790 | 7790 | \item
|
7791 |
| - if the value is an object of class or array type, |
7792 |
| - each subobject satisfies these constraints for the value. |
| 7791 | + if the result object is an object of class or array type, |
| 7792 | + each subobject satisfies these constraints for the result object. |
7793 | 7793 | \end{itemize}
|
7794 | 7794 | An entity is a
|
7795 | 7795 | \defnx{permitted result of a constant expression}{constant expression!permitted result of}
|
7796 | 7796 | if it is an
|
7797 | 7797 | object with static storage duration that either is not a temporary object or is
|
7798 |
| -a temporary object whose value satisfies the above constraints, or if |
| 7798 | +a temporary object that satisfies the above constraints, or if |
7799 | 7799 | it is a non-immediate function.
|
7800 | 7800 | \begin{note}
|
7801 | 7801 | A glvalue core constant expression
|
|
0 commit comments