作者:empty 页数:1815 出版社:empty |
This document speci ies requirements for implementations of the C++programming language.The first suchrequirement is that they implement the language, so this document also defines C++.Other requirementsand 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 de seri bed inISO/IEC 9899:2018Progrumnming languages-C(hereinafter referred to as the C standard) , C++providesmany facilities beyond tho ee provided by C.including additional datatypes, classes, templates, exceptions,namespaces, operator overloading, function name overloading, references, free store management operators,and additional library facilities.
Contents
1 Scope
2 Normative references2
3 Terms and definitions3
4 General principles
41Implementation compliance
5 Lexical conventions
Language C++
Structure of this doc tment.
Syntax notation.
Acknowledgments
Separate translation
Phases of translation.
Character sets.
Pre proces ing tokens
55Alto ma tivo tokens
56Tokens.
5.7Comments:
5.8Header u ames.
5.9Preprocessing num nber s
5.10Identifer s
5.11Keywords
5.12Operators and punct u ators
5.13Literals.
6 Basics
6.1Preamble
6.2Declarations and definitions
Ono-de inition rule
Scope
Name ln ok up
Program and lnk age.
Memory and objects
Types.++
Program execution
Preamble
Properties of expressions
Standard conversions.
Usual arith in etic conversions
Primary expressions
Compound expressions
Constant expressions.
Prc amble
Labeled statement
Expression statement.
Compound statement or blork
Selection statements.
Iteration statements
Jump statements.
Declaration statement
Ambiguity resolution
Pre amn ble
Specifi ets
Declarator
Initializers:,
Funet i oude ii tions.
S true tured binding declarations
Enumeration a.
Namespaces.
The using dec aration.
The asm declara t jou.
Linkages per ifications
Attributes.
Module units and purview s
10.2Export declaration
10.3 Import declaration
10.4Global module frag in ent
10.5 Private m nodule fragment.
10.6Instantiation context
10.7Reachabllity.
11 Classes
11.1Preamble.
11.2Proper is of classe
11.3Class names
11.4Class members
usUnions.
11.6Local class.dec a rations
11.7Derived classes.
11.8Mrm bernan e lookup
11.9Mrm be rar cess control
11.10 Initialization.
11.11Coru parisons
11.12Frcestor:
12 Overloading
12.1Prearble
12.2Overload able declarations
12.3Declaration matching.
12.4Overload resolution.
12.5Address of over loud ed fine tion.
12.6Overloaded operators.
12.7Built-in operator a.
13 Templates
13.1Pre a in ble
13.2Template para net ers
13.3Names of tm plate spec izations
13.4Template arguments
13.5Template constraints
13.6Type equivalence.
13.7Template der la rations
13.8Name reso lation.
13.10 Function template specializations.
14 Exception handling
14.6 Special functions
15 Preprocessing directives
15.10Null directive.
15.11 Predefined macro names
15.12Pragma operator
16 Library introduction
16.1 General.
17 Language support library
17.1 General
Template instantiation and specia ization
Preamble
Throwing an exception
Constructors and destructors
Handling an exception.
Exception specifications
Preamble
Condtion al inclusion
Sourcefile it clusion.
Header unit importation
Global module fragment
Macro replacement.
Lm ne control
Error directive:
Pragma directive
The C standard brary.
Definitions.-.
Method of description
Library-wide require a nents
Common deh nitions
Impl c mentation proper tics
Integer types
Start and termination
Dynamic met nory manager nent
177Typ c identification
17.8Source locati nu
17.9 Exception handling
17.10 Initializer lists.
17.11 Comparisons
17.12Co routines.
17.13 Other runtime support
18 Concepts library
18.1General.
18.2Equal typ reseT vation.
18.3Hender concept a>synopsis.
18.4Language-related concepts
18.5Comparison concepts.,
18.6Object concepts.
18.7Callable concepts
19 Diagnostics library
19.1Gencral
19.2 Exception classes
20.13 Class template scoped_allocator_adaptor,
20.14 Function objects.+.
20.15 Metaprogramming and type traits
20.16 Compile-tite rational arithmetic.
20.17 Classtype_index.
20.18 Execution policies.
20.19 Primitive numeric conversions
20.20 Formatting
21 Strings library
21.1 General
21.2Character traits.
21.3String classes
21.4String vic w classes
21.5Nul-tert nina ted sequence ul ties.
22 Containers library
22.1General
22.2Container require nents,
22.3Sequence containers
22.4Associative containers.
22.5Unordered associative contain iers
22.6Contain cr adaptors.
22.7Views
23 Iterators library
23.1General
23.2Header iterator>synops ls.
23.3Iterator requirements.
23.4Iterator primitives
23.5Iterator adaptors.
23.6Stream iterators, .
23.7Range access
24 Ranges library
241 General.
24.2Header ranges>synopsis
24.3Range access.
24.4Range requirements
24.5Range utilities-.
24.6Range factor ics
24.7 Range adaptors
Contents
O ISO/IEC
25 Algorithms library
25.1General
25.2Algorithms re rui ret nents,
25.3Parallel algorithms.
25.4Header c algorith n>s yu ops is
25.5Non-moliyingsequrnce opera tins
25.6Mutating sequence operations.
25.7Sorting and related operations
25.8Header numeric>synopsis
25.9General ied numer c operations
25.10C library algorithms
26 Numerics library
26.1General
26.2Numeric type requirements
26.3The fi on ting-point environment
26.4Complex numbers.
26.5Bit manipulation
26.6Random number generation.
26.7Numeric arrays.:
26.8Math etna tical functions for f oating-pont types
26.9Numbers,
27 Time library
27.1General.4.
27.2Header chrono>synopsis
273Cpp 17 Clock requirements
27.6Class template tine_point
27.7Clocks
27.8Thecvil calendar
27.9 Class template hh_mm_8a
27.1012/ 24 hours functions
27.11 Timezones
27.12 Formatting
27.13 Parsing:.
27.14 Header c tine>synopsis
28 Localization library
28.1General.
28.2Head urc locale>synopsis
28.3Locales
28.4Standard 1ocale categories
28.5C library locales
29 Input/output library
29.1General, .
29.2lost r cams ro quirements.
29.3Forward declarations.
29.4Standard iostream objects
29.5lo streams base classes
29.6Stream buffers.
29.7Format ig and manipu l tors
29.8String-based streams.
29.9 File-based streams.
210Svnchroniel outputs trans
29.11 Filesystems
29.12Clbrary files
30 Regular expressions library
30.1General+t
30.2Definitions.
30.3Requirements.
30.4Header c regex>synopsis.
30.8 Class template bag ic_regex.
30.9 Class template aub_match.
30.10 Class template match_re ault a
30.11 Regularexpression algorith tns.
30.12 Regularexpression iterators
30.13Modifed ECMAScript regular expresion grammar
31 Atomic operations library
31.1General.
31.2Header atonic>synopsis
313Type aliases.
31.4Order and consistency
31.5Lock-free property
31.6
31.7Clss template atomic_ref
31.8Class template atomic.
31.9Non-member functions
31.10Flag type and operations.
31.11Fencea.
32 Thread support library
32.1 General
32.2Requirements
32.3Stop tokens.
32.4Threads Yv
32.5Mutual exel usion
32.6Condition variables
32.7Semaphore
32.8Coordination types
32.9 Futures++
A Grammar summary
A.1Keywords, .
A.2Lexical conventions
A.8Classes.
AgOverloading
A. 10 Templates.
A.11Exception handling
A.12Preproceseing directives
B Implementation quantities
C Compatibility
C.1C+t and ISOC.
C-2C+t and ISOC++ 2003
C3C++and ISOC++ 2011
Contents
O ISO/IEC
C4C++and ISOC++ 2014
C-5C++and ISOC++ 2017
C-6C standard library
D Compatibility features
D.1Arithmetic conversion on enumerations.
D.2Implicit capture of+this by reference
D3Comma operator in subscript expressions
D.18Depreeatel locale category facets.
D. 19 Deprecated filesystem path factory functions.
D. 20 Deprecated atomic initialization