Files
2025-10-25 03:02:53 +03:00

5.8 KiB

[diff.cpp03.library]

Annex C (informative) Compatibility [diff]

C.6 C++ and ISO C++ 2003 [diff.cpp03]

C.6.7 [library]: library introduction [diff.cpp03.library]

1

#

Affected: [library] – [exec]

Change: New reserved identifiers.

Rationale: Required by new features.

Effect on original feature: Valid C++ 2003 code that uses any identifiers added to the C++ standard library by later revisions of C++ may fail to compile or produce different results in this revision of C++.

A comprehensive list of identifiers used by the C++ standard library can be found in the Index of Library Names in this document.

2

#

Affected subclause: [headers]

Change: New headers.

Rationale: New functionality.

Effect on original feature: The following C++ headers are new:,,,<condition_variable>,<forward_list>,,<initializer_list> ([initializer.list.syn]),,,,,<scoped_allocator>,<system_error>,,, ([type.index.synopsis]),<type_traits>,<unordered_map>, and<unordered_set>.

In addition the following C compatibility headers are new:,,, and.

Valid C++ 2003 code that #includes headers with these names may be invalid in this revision of C++.

3

#

Affected subclause: [swappable.requirements]

Change: Function swap moved to a different header.

Rationale: Remove dependency on for swap.

Effect on original feature: Valid C++ 2003 code that has been compiled expecting swap to be in may have to instead include .

4

#

Affected subclause: [namespace.posix]

Change: New reserved namespace.

Rationale: New functionality.

Effect on original feature: The global namespace posix is now reserved for standardization.

Valid C++ 2003 code that uses a top-level namespace posix may be invalid in this revision of C++.

5

#

Affected subclause: [macro.names]

Change: Additional restrictions on macro names.

Rationale: Avoid hard to diagnose or non-portable constructs.

Effect on original feature: Names of attribute identifiers may not be used as macro names.

Valid C++ 2003 code that defines override, final, ornoreturn as macros is invalid in this revision of C++.