|
2794 | 2794 |
|
2795 | 2795 | \pnum
|
2796 | 2796 | \indextext{storage~duration|(}%
|
2797 |
| -The \defnx{storage duration}{storage~duration} is the property of an object that defines the minimum |
| 2797 | +The \defnx{storage duration}{storage duration} is the property of an object that defines the minimum |
2798 | 2798 | potential lifetime of the storage containing the object. The storage
|
2799 | 2799 | duration is determined by the construct used to create the object and is
|
2800 | 2800 | one of the following:
|
|
3602 | 3602 | and
|
3603 | 3603 | cv-qualified versions of these
|
3604 | 3604 | types~(\ref{basic.type.qualifier}) are collectively called
|
3605 |
| -\defnx{scalar types}{scalar~type}. Scalar types, |
| 3605 | +\defnx{scalar types}{scalar type}. Scalar types, |
3606 | 3606 | POD classes (Clause~\ref{class}), arrays of such types and
|
3607 | 3607 | cv-qualified versions of these
|
3608 | 3608 | types~(\ref{basic.type.qualifier}) are collectively called
|
|
3700 | 3700 |
|
3701 | 3701 | \pnum
|
3702 | 3702 | \indextext{type!standard~signed~integer}%
|
3703 |
| -There are five \defnx{standard signed integer types}{standard~signed~integer~type} : |
| 3703 | +There are five \defnx{standard signed integer types}{standard signed integer type} : |
3704 | 3704 | \indextext{type!\idxcode{signed char}}%
|
3705 | 3705 | \indextext{type!\idxcode{short}}%
|
3706 | 3706 | \indextext{type!\idxcode{int}}%
|
|
3713 | 3713 | \indextext{type!extended~signed~integer}%
|
3714 | 3714 | \indextext{type!signed~integer}%
|
3715 | 3715 | There may also be \impldef{extended signed integer types}
|
3716 |
| -\defnx{extended signed integer types}{extended~signed~integer~type}. |
| 3716 | +\defnx{extended signed integer types}{extended signed integer type}. |
3717 | 3717 | The standard and
|
3718 | 3718 | extended signed integer types are collectively called
|
3719 |
| -\defnx{signed integer types}{signed~integer~type}. |
| 3719 | +\defnx{signed integer types}{signed integer type}. |
3720 | 3720 | \indextext{integral~type!implementation-defined @\tcode{sizeof}}%
|
3721 | 3721 | Plain
|
3722 | 3722 | \tcode{int}s have the natural size suggested by the architecture of the
|
|
3732 | 3732 | For each of the standard signed integer types,
|
3733 | 3733 | there exists a corresponding (but different)
|
3734 | 3734 | \indextext{type!standard~unsigned~integer}%
|
3735 |
| -\defnx{standard unsigned integer type}{standard~unsigned~integer~type}: |
| 3735 | +\defnx{standard unsigned integer type}{standard unsigned integer type}: |
3736 | 3736 | \indextext{type!\idxcode{unsigned char}}%
|
3737 | 3737 | \indextext{type!\idxcode{unsigned short}}%
|
3738 | 3738 | \indextext{type!\idxcode{unsigned int}}%
|
|
3751 | 3751 | \indextext{type!unsigned~integer}%
|
3752 | 3752 | Likewise, for each of the extended signed integer types there exists a
|
3753 | 3753 | corresponding
|
3754 |
| -\defnx{extended unsigned integer type}{extended~unsigned~integer~type} with the same amount of storage and alignment |
| 3754 | +\defnx{extended unsigned integer type}{extended unsigned integer type} with the same amount of storage and alignment |
3755 | 3755 | requirements. The standard and extended unsigned integer types are
|
3756 |
| -collectively called \defnx{unsigned integer types}{unsigned~integer~type}. The range of non-negative |
| 3756 | +collectively called \defnx{unsigned integer types}{unsigned integer type}. The range of non-negative |
3757 | 3757 | values of a signed integer type is a subrange of the corresponding
|
3758 | 3758 | unsigned integer type, and the value
|
3759 | 3759 | representation of each corresponding signed/unsigned type shall be the
|
3760 | 3760 | same.
|
3761 | 3761 | \indextext{type!standard~integer}%
|
3762 | 3762 | \indextext{type!extended~integer}%
|
3763 | 3763 | The standard signed integer types and standard unsigned integer types
|
3764 |
| -are collectively called the \defnx{standard integer types}{standard~integer~type}, and the extended |
| 3764 | +are collectively called the \defnx{standard integer types}{standard integer type}, and the extended |
3765 | 3765 | signed integer types and extended
|
3766 | 3766 | unsigned integer types are collectively called the \defnx{extended
|
3767 | 3767 | integer types}{extended~integer~type}. The signed and unsigned integer types shall satisfy
|
|
3812 | 3812 | Types \tcode{bool}, \tcode{char}, \tcode{char16_t}, \tcode{char32_t},
|
3813 | 3813 | \tcode{wchar_t}, and the signed and unsigned integer types are
|
3814 | 3814 | collectively called
|
3815 |
| -\defnx{integral}{integral~type} types.\footnote{Therefore, enumerations~(\ref{dcl.enum}) are not integral; however, |
| 3815 | +\defnx{integral}{integral type} types.\footnote{Therefore, enumerations~(\ref{dcl.enum}) are not integral; however, |
3816 | 3816 | enumerations can be promoted to integral types as specified
|
3817 | 3817 | in~\ref{conv.prom}.}
|
3818 | 3818 | A synonym for integral type is
|
3819 | 3819 | \indextext{signed integer representation!ones' complement}%
|
3820 | 3820 | \indextext{signed integer representation!two's complement}%
|
3821 | 3821 | \indextext{signed integer representation!signed magnitude}%
|
3822 |
| -\defnx{integer type}{integer~type}. The representations of integral types shall |
| 3822 | +\defnx{integer type}{integer type}. The representations of integral types shall |
3823 | 3823 | define values by use of a pure binary numeration system.\footnote{A positional
|
3824 | 3824 | representation for integers that uses the binary digits 0
|
3825 | 3825 | and 1, in which the values represented by successive bits are additive,
|
|
3831 | 3831 | \end{example}
|
3832 | 3832 |
|
3833 | 3833 | \pnum
|
3834 |
| -There are three \defnx{floating-point}{floating~point~type} types: |
| 3834 | +There are three \defnx{floating-point}{floating point type} types: |
3835 | 3835 | \indextext{type!\idxcode{float}}%
|
3836 | 3836 | \tcode{float},
|
3837 | 3837 | \indextext{type!\idxcode{double}}%
|
|
3907 | 3907 | \defnx{references}{reference} to objects or functions of a given
|
3908 | 3908 | type,~\ref{dcl.ref}. There are two types of references:
|
3909 | 3909 | \begin{itemize}
|
3910 |
| -\item \defnx{lvalue reference}{lvalue~reference} |
3911 |
| -\item \defnx{rvalue reference}{rvalue~reference} |
| 3910 | +\item \defnx{lvalue reference}{lvalue reference} |
| 3911 | +\item \defnx{rvalue reference}{rvalue reference} |
3912 | 3912 | \end{itemize}
|
3913 | 3913 |
|
3914 | 3914 | \item
|
|
3927 | 3927 | \defnx{enumerated type}{type!enumerated},~\ref{dcl.enum};
|
3928 | 3928 |
|
3929 | 3929 | \item \indextext{member~pointer~to|see{pointer to member}}%
|
3930 |
| -\defnx{pointers to non-static class members}{pointer~to~member},% |
| 3930 | +\defnx{pointers to non-static class members}{pointer to member},% |
3931 | 3931 | \footnote{Static class members are objects or functions, and pointers to them are
|
3932 | 3932 | ordinary pointers to objects or functions.}
|
3933 | 3933 | which identify members of a given
|
|
4284 | 4284 | \rSec1[basic.align]{Alignment}
|
4285 | 4285 |
|
4286 | 4286 | \pnum
|
4287 |
| -Object types have \defnx{alignment requirements}{alignment~requirement!implementation-defined} (\ref{basic.fundamental},~\ref{basic.compound}) |
| 4287 | +Object types have \defnx{alignment requirements}{alignment requirement!implementation-defined} (\ref{basic.fundamental},~\ref{basic.compound}) |
4288 | 4288 | which place restrictions on the addresses at which an object of that type
|
4289 | 4289 | may be allocated. An \defn{alignment} is an \impldef{alignment}
|
4290 | 4290 | integer value representing the number of bytes between successive addresses
|
|
4294 | 4294 |
|
4295 | 4295 | \pnum
|
4296 | 4296 | \indextext{alignment!fundamental}%
|
4297 |
| -A \defnx{fundamental alignment}{fundamental~alignment} is represented by an alignment |
| 4297 | +A \defnx{fundamental alignment}{fundamental alignment} is represented by an alignment |
4298 | 4298 | less than or equal to the greatest alignment supported by the implementation in
|
4299 | 4299 | all contexts, which is equal to
|
4300 | 4300 | \tcode{alignof(std::max_align_t)}~(\ref{support.types}).
|
|
0 commit comments