Standardization of C++
C++ is standardized by an ISO working group known as JTC1/SC22/WG21. So far, it has published four revisions of the C++ standard and is currently working on the next revision, C++17.
In 1998, the ISO working group standardized C++ for the first time as ISO/IEC 14882:1998, which is informally known as C++98. In 2003, it published a new version of the C++ standard called ISO/IEC 14882:2003, which fixed problems identified in C++98.
The next major revision of the standard was informally referred to as "C++0x", but it was not released until 2011. C++11 (14882:2011) included many additions to both the core language and the standard library.
In 2014, C++14 (also known as C++1y) was released as a small extension to C++11, featuring mainly bug fixes and small improvements. The Draft International Standard ballot procedures completed in mid-August 2014.
After C++14, a major revision, informally known as C++17 or C++1z, is planned for 2017, which is almost feature-complete.
As part of the standardization process, ISO also publishes technical reports and specifications:
- ISO/IEC TR 18015:2006 on the use of C++ in embedded systems and on performance implications of C++ language and library features,
- ISO/IEC TR 19768:2007 (also known as the C++ Technical Report 1) on library extensions mostly integrated into C++11,
- ISO/IEC TR 29124:2010 on special mathematical functions,
- ISO/IEC TR 24733:2011 on decimal floating point arithmetic,
- ISO/IEC TS 18822:2015 on the standard filesystem library,
- ISO/IEC TS 19570:2015 on parallel versions of the standard library algorithms,
- ISO/IEC TS 19841:2015 on software transactional memory,
- ISO/IEC TS 19568:2015 on a new set of library extensions, some of which are already integrated into C++17,
- ISO/IEC TS 19217:2015 on the C++ Concepts
More technical specifications are in development and pending approval, including concurrency library extensions, a networking standard library, ranges, and modules.