ISO/IEC 14882:2024
Programming languages — C++
Programming languages — C++
- Статус документа:
- Действующий
- Формат:
- Электронный (PDF)
- Количество страниц:
- 2104
- Дата публикации:
- 19 октября 2024 г.
- Издание:
- ISO/IEC IS 14882 edition 7 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:2024 - Programming languages - C++ is the seventh edition of the international standard that defines the C++ language and specifies requirements for C++ implementations. The standard requires compilers and standard library implementations to conform to the language definition and documents the syntax, semantics, runtime behavior and library facilities that constitute modern C++ (C++2024). It builds on and interoperates with the C standard ISO/IEC 9899:2018.
Key topics and technical requirements
The standard is organized to cover both language and library aspects. Major technical topics include:
-
Language core and syntax
- Lexical conventions, tokens, character sets, and translation phases
- Declarations, definitions, scope, name lookup and the one-definition rule
- Types, objects, memory model and program execution requirements
-
Language features
- Classes, unions, member access, initialization and comparisons
- Templates (parameters, instantiation, specialization, constraints)
- Overloading (functions and operators) and overload resolution
- Modules (import/export, reachability) and preprocessing directives
- Exception handling, constructors/destructors and exception specifications
- Coroutines and modern control-flow facilities
-
Expressions, statements and semantics
- Conversion rules, evaluation order, constant expressions and statements
-
Standard library
- Language support (startup/termination, dynamic memory, type identification)
- Libraries for memory management (smart pointers, memory resources)
- Containers, strings, algorithms, formatting, bit manipulation
- Concepts, diagnostics, metaprogramming, utilities, execution policies
-
Implementation compliance
- Conformance clauses, normative references and implementation properties that compiler and library vendors must satisfy
Practical applications and users
Who benefits from and uses ISO/IEC 14882:2024:
- Compiler and standard library implementers - to build conforming C++ compilers, toolchains and runtime libraries.
- Software engineers and architects - to ensure portable, standards-compliant code across platforms.
- Tool and static analysis vendors - to align diagnostics, lints and code-transformation tools with official language rules.
- Educators and authors - as a definitive reference for teaching modern C++ semantics.
- Safety-, security- and certification-focused projects - to demonstrate compliance and predictable runtime behavior.
Practical uses include writing portable libraries, implementing language features (modules, concepts, coroutines, templates), defining ABI and runtime guarantees, and ensuring consistent behavior across platforms.
Related standards
- ISO/IEC 9899:2018 - Programming languages - C, referenced for interoperability with C.
- Other ISO/IEC standards and normative references cited within ISO/IEC 14882:2024 for implementation and library behavior.
Keywords: ISO/IEC 14882:2024, C++ standard, C++2024, C++ language, standard library, templates, modules, concepts, compiler conformance.
Технические детали
- Технический комитет
- ISO/IEC JTC 1/SC 22 - Programming languages, their environments and system software interfaces
- SKU
- ISO/IEC 14882:2024
Похожие стандарты
Другие стандарты 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…