|
5073 | 5073 | After conversions, the operands shall have the same type.
|
5074 | 5074 |
|
5075 | 5075 | \pnum
|
5076 |
| -Comparing unequal pointers to objects% |
| 5076 | +The result of comparing unequal pointers to objects% |
5077 | 5077 | \footnote{An object that is not an array element is considered to belong to a
|
5078 | 5078 | single-element array for this purpose; see~\ref{expr.unary.op}.
|
5079 | 5079 | A pointer past the last element of an array \tcode{x} of $n$ elements
|
5080 | 5080 | is considered to be equivalent to a pointer to a hypothetical element
|
5081 | 5081 | $\mathtt{x[}n\mathtt{]}$ for this purpose; see~\ref{basic.compound}.}
|
5082 |
| -is defined as follows: |
| 5082 | +is defined in terms of a partial order consistent with the following rules: |
5083 | 5083 |
|
5084 | 5084 | \begin{itemize}
|
5085 | 5085 | \item If two pointers point to different elements of the same array, or to
|
5086 | 5086 | subobjects thereof, the pointer to the element with the higher subscript
|
5087 |
| -compares greater. |
| 5087 | +is required to compare greater. |
5088 | 5088 |
|
5089 | 5089 | \item If two pointers point to different non-static data members of the same
|
5090 | 5090 | object, or to subobjects of such members, recursively,
|
5091 |
| -the pointer to the later declared member compares greater provided |
| 5091 | +the pointer to the later declared member is required to compare greater provided |
5092 | 5092 | the two members have the same access control\iref{class.access},
|
5093 | 5093 | neither member is a subobject of zero size,
|
5094 | 5094 | and their class is not a union.
|
5095 | 5095 |
|
5096 |
| -\item Otherwise, neither pointer compares greater than the other. |
| 5096 | +\item Otherwise, neither pointer is required to compare greater than the other. |
5097 | 5097 |
|
5098 | 5098 | \end{itemize}
|
5099 | 5099 |
|
|
0 commit comments