General topics | ||||||||||||||||
Flow control | ||||||||||||||||
Conditional execution statements | ||||||||||||||||
Iteration statements (loops) | ||||||||||||||||
Jump statements | ||||||||||||||||
Functions | ||||||||||||||||
Function declaration | ||||||||||||||||
Lambda function expression | ||||||||||||||||
inline specifier | ||||||||||||||||
Dynamic exception specifications(until C++17*) | ||||||||||||||||
noexcept specifier(C++11) | ||||||||||||||||
Exceptions | ||||||||||||||||
Namespaces | ||||||||||||||||
Types | ||||||||||||||||
Specifiers | ||||||||||||||||
| ||||||||||||||||
Storage duration specifiers | ||||||||||||||||
Initialization | ||||||||||||||||
Expressions | ||||||||||||||||
Alternative representations | ||||||||||||||||
Literals | ||||||||||||||||
Boolean -Integer -Floating-point | ||||||||||||||||
Character -String -nullptr(C++11) | ||||||||||||||||
User-defined(C++11) | ||||||||||||||||
Utilities | ||||||||||||||||
Attributes(C++11) | ||||||||||||||||
Types | ||||||||||||||||
typedef declaration | ||||||||||||||||
Type alias declaration(C++11) | ||||||||||||||||
Casts | ||||||||||||||||
Memory allocation | ||||||||||||||||
Classes | ||||||||||||||||
Class-specific function properties | ||||||||||||||||
| ||||||||||||||||
Special member functions | ||||||||||||||||
Templates | ||||||||||||||||
Miscellaneous | ||||||||||||||||
|
Contents |
const
, scope resolution operatorstring
(AT&T version),I/O streamThis book described the language as designed, including some features that were not yet implemented. It served as the de-facto standard until the ISO.
dynamic_cast
,typeid
),covariant return types,cast operators,mutable
,bool
, declarations in conditions,template instantiations,member templates, exportThis was a minor revision, intended to be little more than a technical corrigendum. This revision introduces the definition ofvalue initialization.
This TR discussed the costs of various C++ abstractions, provided implementation guidance, discussed use of C++ in embedded systems and introduced<hardware>
interface to C's ISO/IEC TR 18037:2008<iohw.h>
.
This TR is a C++ library extension, which adds the following to the C++ standard library:
<math.h>
that were new in C99,blank character class,Floating-point environment,hexfloat I/O Manipulator,fixed-size integral types, thelong long
type,va_copy, thesnprintf() andvfscanf() families of functions, and the C99 conversion specifies forprintf() andscanf() families of functions.All of TR1 except for the special functions was included in C++11, with minor changes.
This international standard is a C++ standard library extension, which adds the special functions that were part of TR1, but were not included in C++11: elliptic integrals, exponential integral, Laguerre polynomials, Legendre polynomials, Hermite polynomials, Bessel functions, Neumann functions, beta function, and Riemann zeta function. This standard wasmerged into C++17.
A large number of changes were introduced to both standardize existing practices and improve the abstractions available to the C++ programmers
This TR implements the decimal floating-point types from IEEE 754-2008 Standard for Floating-Point Arithmetic:std::decimal::decimal32
,std::decimal::decimal64
, andstd::decimal::decimal128
.
Minor revision of the C++ standard
This TS is an experimental C++ library extension that specifies a filesystem library based on boost.filesystem V3 (with some modifications and extensions). This TS was merged into C++17.
This TS standardizes parallel and vector-parallel API for all standard library algorithms, as well as adds new algorithms such asreduce
,transform_reduce
, orexclusive_scan
. This TS was merged into C++17.
This TS extends the C++ core language with synchronized and atomic blocks, as well as transaction-safe functions, which implement transactional memory semantics.
This TS adds several new components to the C++ standard library:optional,any,string_view,sample,search,apply,polymorphic allocators, andvariable templates for type traits. This TS was merged into C++17.
This TS extends the C++ core language with concepts (named type requirements) and constraints (limits on the types allowed in template, function, and variable declarations), which aids metaprogramming and simplifies template instantiation diagnostics, seeconcepts. This TS was merged into C++20, with some omissions.
This TS extends the C++ library to includeseveral extensions tostd::future,latches andbarriers, and atomic smart pointers.
The major revision of the C++ standard after C++11
This TS extends the C++ library to includeranges, a new, more powerful, abstraction to replace iterator pairs, along with range views, sentinel ranges, projections for on-the-fly transformations, new iterator adaptors and algorithms. This extension finally makes it possible to sort a vector withsort(v);
This TS extends the C++ core language and the standard library to include stackless coroutines (resumable functions). This adds the keywordsco_await,co_yield, andco_return.
This TS extends the C++ library to include TCP/IP networking based onboost.asio.
This TS extends the C++ core language to include modules. This adds the special identifiersmodule,import, and reintroduces the keywordexport with a new meaning.
This TS extends the C++ library to include two new execution policies (unseq andvec), additional parallel algorithms such asreduction_plus orfor_loop_strided, task blocks for forking and joining parallel tasks, SIMD types and operations on those types.
The major revision of the C++ standard after C++17
This TS extends C++ with the facilities to inspect program entities such as variables, enumerations, classes and their members, lambdas and their captures, etc.
The next major revision of the C++ standard
C documentation forHistory of C |