Files
cppdraft_translate/cppdraft/support/c/headers/other.md
2025-10-25 03:02:53 +03:00

3.1 KiB
Raw Blame History

[support.c.headers.other]

17 Language support library [support]

17.15 C headers [support.c.headers]

17.15.7 Other C headers [support.c.headers.other]

1

#

Every C header other than<complex.h>,<iso646.h>,<stdalign.h>,
<stdatomic.h>,<stdbit.h>,<stdbool.h>,<stdckdint.h>, and
<tgmath.h>, each of which has a name of the form<name.h>, behaves as if each name placed in the standard library namespace by the corresponding<cname> header is placed within the global namespace scope, except for the functions described in [sf.cmath], the std::lerp function overloads ([c.math.lerp]), the declaration of std::byte ([cstddef.syn]), and the functions and function templates described in [support.types.byteops].

It is unspecified whether these names are first declared or defined within namespace scope ([basic.scope.namespace]) of the namespacestd and are then injected into the global namespace scope by explicit using-declarations ([namespace.udecl]).

2

#

[Example 1:

The header assuredly provides its declarations and definitions within the namespacestd.

It may also provide these names within the global namespace.

The header <stdlib.h> assuredly provides the same declarations and definitions within the global namespace, much as in ISO/IEC 9899.

It may also provide these names within the namespace std.

— end example]