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 C++17, informally known as C++1z, was completed by the ISO C++ committee in mid July 2017 and was approved and published in December 2017. 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, integrated into C++17 ISO/IEC TR 24733:2011 on decimal floating-point arithmetic, ISO/IEC TS 18822:2015 on the standard filesystem library, integrated into C++17 ISO/IEC TS 19570:2015 on parallel versions of the standard library algorithms, integrated into C++17 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, integrated into C++20 ISO/IEC TS 19571:2016 on the library extensions for concurrency, some of which are already integrated into C++20 ISO/IEC TS 19568:2017 on a new set of general-purpose library extensions ISO/IEC TS 21425:2017 on the library extensions for ranges, integrated into C++20 ISO/IEC TS 22277:2017 on coroutines, integrated into C++20 ISO/IEC TS 19216:2018 on the networking library ISO/IEC TS 21544:2018 on modules, integrated into C++20 ISO/IEC TS 19570:2018 on a new set of library extensions for parallelism ISO/IEC TS 23619:2021 on new extensions for reflection More technical specifications are in development and pending approval, including new set of concurrency extensions. Language The C++ language has two main components: a direct mapping of hardware features provided primarily by the C subset, and zero-overhead abstractions based on those mappings. Stroustrup describes C++ as "a light-weight abstraction programming language [designed] for building and using efficient and elegant abstractions"; and "offering both hardware access and abstraction is the basis of C++. Doing it efficiently is what distinguishes it from other languages." C++ inherits most of C's syntax. The following is Bjarne Stroustrup's version of the Hello world program that uses the C++ Standard Library stream facility to write a message to standard output: #include <iostream> int main() { std::cout << "Hello, world!\n"; } Object storage As in