C++14 Overview
C++14: Purpose of this FAQ section
The purpose of this section and the language additions section and library additions section is:
- To give an overview of the new facilities (language features and standard libraries) offered by C++14 in addition to what is provided by the previous version of the ISO C++ standard.
- To give an idea of the aims of the ISO C++ standards effort.
- To present a user’s view of the new facilities
- To provide references to allow for a more in depth study of features.
- To name many of the individuals who contributed (mostly as authors of the reports they wrote for the committee). The standard is not written by a faceless organization.
We often borrow examples from the proposals. In those cases: Thanks to the proposal authors. Many other examples are borrowed from Stroustrup’s talks and papers.
Please note that the purpose of this FAQ is not to provide comprehensive discussion of individual features or a detailed explanation of how to use them. The aim is to give simple examples to demonstrate what C++14 has to offer (plus references). Our ideal is “max one page per feature” independently of how complex a feature is. Details can often be found in the references.
What is C++14?
C++14 is the ISO C++ standard formally ratified by a national vote in 2014. This public working paper is the October 2013 working draft, and contains the C++14 draft standard which is expected to be finalized with a few more minor tweaks and editorial changes.
C++14 is a minor but important upgrade over C++11, and largely “completes C++11.”
When will compilers implement C++14?
Currently shipping compilers (e.g., GCC C++, Clang C++, IBM C++, and Microsoft C++) already implement some or many C++14 features.
Modulo bugs, the first fully conforming C++14 language implementation is shipped by the January 2014 release of LLVM/Clang 3.4.
Here are links to C++14 information from purveyors:
Where can I find the committee papers for C++14 features?
Go to the committee papers archive and focus mainly on papers written from 2011 through early 2014. There you will most likely drown in details. Look for “issues lists” and “State of …” (e.g., “State of Evolution”) lists.
Where else can I read about C++14?
The amount of information about C++14 is increasing as the standard nears completion and C++ implementations start providing new language features and libraries. Here is a short list of sources:
- B. Stroustrup: The C++ Programming Language (Fourth Edition).
- B. Stroustrup: A Tour of C++.
- The committee papers archive.
Are there any videos about C++14?
Yes:
- B. Stroustrup, H. Sutter, S. Meyers, A. Alexandrescu, S.T.Lavavej, Chandler Carruth, S. Parent, and M. Wong: Several talks and panels from the GoingNative 2013 conference.
Is C++14 the final C++ standard?
No. The committee is also working on issuing numerous Technical Specifications due in 2014 onward, on topics from low-level libraries like File System and Networking to Concurrency and Parallelism and Concepts, and more. Many of these Technical Specifications are expected to become part of the next major actual C++ International Standard, currently expected in about 2017.
For the latest details, see the current status page.