Annex C (informative)
Compatibility
[diff]
C.6
C standard library
[diff.library]
C.6.3
Modifications to definitions
[diff.mods.to.definitions]
C.6.3.1
Types
char16_t
and
char32_t
[diff.char16]
1
#
The types
char16_t
and
char32_t
are distinct types rather than typedefs to existing integral types
.
The tokens
char16_t
and
char32_t
are keywords in C++ (
[lex.
key]
)
.
They do not appear as macro or type names defined in
<cuchar>
.
C.6.3.2
Type
wchar_t
[diff.wchar.t]
1
#
The type
wchar_t
is a distinct type rather than a typedef to an existing integral type
.
The token
wchar_t
is a keyword in C++ (
[lex.
key]
)
.
It does not appear as a macro or type name defined in any of
<cstddef>
,
<cstdlib>
, or
<cwchar>
.
C.6.3.3
Header
<assert.h>
[diff.header.assert.h]
1
#
The token
static_assert
is a keyword in C++
.
It does not appear as a macro name defined in
<cassert>
.
C.6.3.4
Header
<iso646.h>
[diff.header.iso646.h]
1
#
The tokens
and
,
and_eq
,
bitand
,
bitor
,
compl
,
not
,
not_eq
,
or
,
or_eq
,
xor
, and
xor_eq
are keywords in C++ (
[lex.
key]
), and are not introduced as macros by
<iso646.h>
.
C.6.3.5
Header
<stdalign.h>
[diff.header.stdalign.h]
1
#
The token
alignas
is a keyword in C++ (
[lex.
key]
), and is not introduced as a macro by
<stdalign.h>
.
C.6.3.6
Header
<stdbool.h>
[diff.header.stdbool.h]
1
#
The tokens
bool
,
true
, and
false
are keywords in C++ (
[lex.
key]
), and are not introduced as macros by
<stdbool.h>
.
C.6.3.7
Macro
NULL
[diff.null]
1
#
The macro
NULL
, defined in any of
<clocale>
,
<cstddef>
,
<cstdio>
,
<cstdlib>
,
<cstring>
,
<ctime>
, or
<cwchar>
, is an
implementation-defined null pointer constant in C++ (
[support.
types]
)
.