|
292 | 292 | whose type is not similar\iref{conv.qual} to |
293 | 293 | one of the following types the behavior is |
294 | 294 | undefined:\footnote{The intent of this list is to specify those circumstances in which an |
295 | | -object may or may not be aliased.} |
| 295 | +object can or cannot be aliased.} |
296 | 296 | \begin{itemize} |
297 | 297 | \item the dynamic type of the object, |
298 | 298 |
|
|
3932 | 3932 | \pnum |
3933 | 3933 | An object pointer |
3934 | 3934 | can be explicitly converted to an object pointer of a different type.\footnote{The |
3935 | | -types may have different \cv-qualifiers, subject to |
| 3935 | +types can have different \cv-qualifiers, subject to |
3936 | 3936 | the overall |
3937 | 3937 | restriction that a \tcode{reinterpret_cast} cannot cast away constness.} |
3938 | 3938 | When a prvalue \tcode{v} of object pointer type is converted to |
|
3972 | 3972 | A prvalue of type ``pointer to member of \tcode{X} of type \tcode{T1}'' |
3973 | 3973 | can be explicitly converted to a prvalue of a different type ``pointer to member of |
3974 | 3974 | \tcode{Y} of type \tcode{T2}'' if \tcode{T1} and \tcode{T2} are both |
3975 | | -function types or both object types.\footnote{\tcode{T1} and \tcode{T2} may have |
| 3975 | +function types or both object types.\footnote{\tcode{T1} and \tcode{T2} can have |
3976 | 3976 | different \cv-qualifiers, subject to |
3977 | 3977 | the overall restriction that a \tcode{reinterpret_cast} cannot cast away |
3978 | 3978 | constness.} The null member pointer value\iref{conv.mem} is converted to the |
|
4572 | 4572 | potentially-overlapping subobject is |
4573 | 4573 | the size of the type, not the size of the subobject.% |
4574 | 4574 | \footnote{The actual size of a potentially-overlapping subobject |
4575 | | -may be less than the result of |
| 4575 | +can be less than the result of |
4576 | 4576 | applying \tcode{sizeof} to the subobject, due to virtual base classes |
4577 | 4577 | and less strict padding requirements on potentially-overlapping subobjects.} |
4578 | 4578 | \indextext{array!\idxcode{sizeof}}% |
|
5176 | 5176 |
|
5177 | 5177 | \pnum |
5178 | 5178 | \indextext{\idxcode{new}!exception and}% |
5179 | | -If any part of the object initialization described above\footnote{This may |
| 5179 | +If any part of the object initialization described above\footnote{This might |
5180 | 5180 | include evaluating a \grammarterm{new-initializer} and/or calling |
5181 | 5181 | a constructor.} |
5182 | 5182 | terminates by throwing an exception and a suitable deallocation function |
|
7317 | 7317 | that is usable in constant expressions or |
7318 | 7318 | has constant initialization\iref{basic.start.static}.% |
7319 | 7319 | \footnote{Testing this condition |
7320 | | -may involve a trial evaluation of its initializer as described above.} |
| 7320 | +might involve a trial evaluation of its initializer as described above.} |
7321 | 7321 | \begin{example} |
7322 | 7322 | \begin{codeblock} |
7323 | 7323 | template<bool> struct X {}; |
|
7358 | 7358 |
|
7359 | 7359 | \item |
7360 | 7360 | an immediate subexpression of a \grammarterm{braced-init-list},% |
7361 | | -\footnote{Constant evaluation may be necessary to determine whether a narrowing conversion is performed\iref{dcl.init.list}.} |
| 7361 | +\footnote{Constant evaluation might be necessary to determine whether a narrowing conversion is performed\iref{dcl.init.list}.} |
7362 | 7362 |
|
7363 | 7363 | \item |
7364 | 7364 | an expression of the form \tcode{\&} \grammarterm{cast-expression} |
7365 | 7365 | that occurs within a templated entity,% |
7366 | | -\footnote{Constant evaluation may be necessary to determine whether such an expression is value-dependent\iref{temp.dep.constexpr}.} |
| 7366 | +\footnote{Constant evaluation might be necessary to determine whether such an expression is value-dependent\iref{temp.dep.constexpr}.} |
7367 | 7367 | or |
7368 | 7368 |
|
7369 | 7369 | \item |
|
0 commit comments