ISO/IEC 14882:2020
Programming languages — C++
Programming languages — C++
- Статус документа:
- Отменён
- Формат:
- Электронный (PDF)
- Количество страниц:
- 1853
- Дата публикации:
- 15 декабря 2020 г.
- Издание:
- ISO/IEC IS 14882 edition 6 version 1
- ICS:
- 35.060
This document specifies requirements for implementations of the C++ programming language. The first such requirement is that they implement the language, so this document also defines C++. Other requirements and relaxations of the first requirement appear at various places within this document. C++ is a general purpose programming language based on the C programming language as described in ISO/IEC 9899:2018 Programming languages — C (hereinafter referred to as the C standard). C++ provides many facilities beyond those provided by C, including additional data types, classes, templates, exceptions, namespaces, operator overloading, function name overloading, references, free store management operators, and additional library facilities.
Abstract
Overview
ISO/IEC 14882:2020 - Programming languages - C++ is the International Standard that specifies requirements for implementations of the C++ programming language. Published as the sixth edition (2020-12), this document both defines the C++ language and sets compliance requirements for compiler and library implementers. It builds on the C standard (ISO/IEC 9899:2018) and describes language syntax, semantics, translation phases, and a comprehensive standard library.
Key topics and technical requirements
The standard covers language and library aspects with detailed, normative requirements. Key technical topics include:
- Implementation compliance - requirements for conformant compilers and library implementations.
- Lexical conventions & translation phases - tokenization, character sets, preprocessing, and separate translation rules.
- Core language rules - declarations, one-definition rule, scope, name lookup, types, memory and object models, and program execution.
- Classes, templates, and overloading - class semantics, member lookup, template parameters, instantiation and specialization, overload resolution.
- Modules and header units - module units, export/import semantics, global/private module fragments, and header unit importation.
- Exception handling and diagnostics - throwing/handling rules, special functions, and diagnostics library requirements.
- Standard library components - language support, containers, strings, smart pointers, formatting, coroutines, concepts, utilities, and more. The table of contents documents sections such as the Language Support Library, Concepts Library, Coroutines, Containers, Strings, and Formatting.
- Preprocessing & macros - conditional inclusion, file inclusion, macro replacement, pragma and error directives.
- Library-wide requirements - behavior guarantees, header names, and interactions with the C standard library.
Practical applications and who uses this standard
ISO/IEC 14882:2020 is essential for:
- Compiler and tool implementers - to build conformant C++ compilers, linkers, and language tooling.
- Standard library and runtime authors - to implement containers, algorithms, memory and type support as required.
- Software architects and developers - to understand guaranteed language behaviors, portability constraints, and portability best practices across platforms.
- Certification and QA teams - to validate conformance, portability, and safety-critical behavior.
- Educators and technical writers - as the definitive language reference for teaching and documentation.
Adhering to ISO/IEC 14882:2020 ensures consistent language semantics, predictable runtime behavior, and portable C++ code across compliant implementations.
Related standards
- ISO/IEC 9899:2018 - Programming languages - C (referenced as the C standard).
- Other ISO/IEC programming language and tool standards relevant to interoperability and conformance testing.
Технические детали
- Технический комитет
- ISO/IEC JTC 1/SC 22 - Programming languages, their environments and system software interfaces
- SKU
- ISO/IEC 14882:2020
Похожие стандарты
Другие стандарты ISO
ISO 8212:1986
ОтменёнSoaps and detergents — Techniques of sampling during manufacture
Overview Standard Reference: ISO 8212:1986 Title: Soaps and detergents - Techniques of sampling during manufacture ISO 8212:1986 defines standardized techniques for taking representative samples of s…
ISO 20662:2020
ДействующийShips and marine technology — Hopper dredger supervisory and control systems
Overview ISO 20662:2020 - Ships and marine technology: Hopper dredger supervisory and control systems (HD‑SCS) - specifies the components, structure, general requirements, and functional requirements…
ISO 3021:2023
ДействующийAdventure tourism — Hiking and trekking activities — Requirements and recommendations
Overview ISO 3021:2023 - Adventure tourism: Hiking and trekking activities - Requirements and recommendations defines safety-focused requirements and recommendations for hiking and trekking offered a…
ISO 3826-2:2008
ДействующийPlastics collapsible containers for human blood and blood components — Part 2: Graphical symbols for use on l…
Overview ISO 3826-2:2008 - "Plastics collapsible containers for human blood and blood components - Part 2: Graphical symbols for use on labels and instruction leaflets" defines a system of internatio…
ISO/IEC 24730-1:2014
ДействующийInformation technology — Real-time locating systems (RTLS) — Part 1: Application programming interface (API)
Overview ISO/IEC 24730-1:2014 specifies the Application Programming Interface (API) for Real‑Time Locating Systems (RTLS). The standard defines a minimal, interoperable boundary that lets application…
ISO 8668-5:1992
ДействующийAircraft — Terminal junction systems — Part 5: Detail specification for type 3 system
Overview - ISO 8668-5:1992 (Aircraft terminal junction systems, Type 3) ISO 8668-5:1992 defines the detail specification for Type 3 Terminal Junction Systems (TJS) used in aircraft electrical install…
ISO 7574-3:1985
ДействующийAcoustics — Statistical methods for determining and verifying stated noise emission values of machinery and e…
Overview ISO 7574-3:1985 is part of the ISO 7574 series on acoustics and provides a simple (transition) statistical method for determining and verifying stated noise emission values for batches (lots…
ISO 15638-15:2014
ДействующийIntelligent transport systems — Framework for cooperative telematics applications for regulated vehicles (TAR…
Overview - ISO 15638-15:2014 (Vehicle location monitoring, TARV) ISO 15638-15:2014 is part of the ISO 15638 suite for Intelligent Transport Systems (ITS) and defines the framework and data specificat…