20 Library introduction [library]

20.5 Library-wide requirements [requirements]

20.5.4 Constraints on programs [constraints]

20.5.4.3 Reserved names [reserved.names]

20.5.4.3.3 External linkage [extern.names]

Каждое имя, объявленное как объект с внешней связью в заголовке, зарезервировано для реализации, чтобы обозначить этот объект библиотеки с внешней связью 177 как в пространстве имен, так std и в глобальном пространстве имен.

Каждая глобальная сигнатура функции, объявленная с внешней связью в заголовке, зарезервирована для реализации, чтобы обозначить эту сигнатуру функции с внешней связью.178

Каждое имя из стандартной библиотеки C, объявленное с внешней связью , зарезервировано для реализации для использования в качестве имени со связью как в пространстве имен, так и в глобальном пространстве имен.extern "C" std

Каждая сигнатура функции из стандартной библиотеки C, объявленной с внешней связью, зарезервирована для реализации для использования в качестве сигнатуры функции с обоими extern "C" и extern "C++" связью179 или как имя области пространства имен в глобальном пространстве имен.

Список таких зарезервированных имен включает errno, объявлен или определен в .<cerrno>

Список таких зарезервированных сигнатур функций с внешней связью включает setjmp(jmp_­buf), объявленные или определенные в , и , объявленные или определенные в .<csetjmp>va_­end(va_­list)<cstdarg>

Сигнатуры функций, объявленные в , и всегда зарезервированы, несмотря на ограничения, наложенные в подпункте 4.5.1 Поправки 1 к Стандарту C для этих заголовков.<cuchar><cwchar><cwctype>