Namespaces
Variants
Actions

C++14

From cppreference.com
< cpp

C++14 is a minor version after the major version C++11, featuring mainly minor improvements and defect fixes. Its approval was announced on August 18, 2014. It was released on December 15, 2014.

Before its approval, C++1y is sometimes used to indicate its release in 2010s.

Contents

[edit]New language features

[edit]New library features

[edit]Defect reports

Defect Reports fixed in C++14 (276 core, 158 library)

[edit]Compiler support

[edit]C++14 core language features

C++14 feature

 
Paper(s)

 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
 
Embarcadero C++ Builder
IBM Open XL C++ for AIX
IBM Open XL C++ for z/OS
IBM XL C++
Sun/Oracle C++
Tweaked wording for contextual conversionsN33234.9 3.4 18.0*Yes 4.9 16.0 16.1 9.0 8.6  10.3 17.1.0 1.1.0 13.1.2*5.15
Binary literals  (FTM)*N34724.3*
4.9
2.9 19.0 (2015)*Yes 4.10 11.0 2015 9.0 8.6  10.3 17.1.0 1.1.0 13.1.2*5.14
decltype(auto), Return type deduction for normal functions  (FTM)*  (FTM)*N36384.8 (partial)*
4.9
3.3 (partial)*
3.4
19.0 (2015)*Yes 4.9 15.0 16.1 9.0 8.6  10.3 17.1.0 1.1.0 13.1.2*5.15
Initialized/Generalized lambda captures (init-capture)  (FTM)*N36484.5 (partial)
4.9
3.4 19.0 (2015)*Yes 4.10 15.0 16.1 9.0 8.6  10.3 17.1.0 1.1.0 16.1.1*5.15
Generic lambda expressions  (FTM)*N36494.9 3.4 19.0 (2015)*Yes 4.10 16.0 16.1 9.0 8.6  10.3 17.1.0 1.1.0 13.1.2*5.15
Variable templates  (FTM)*N36515 3.4 19.0 (Update 2)*Yes 4.11 17.0 17.4 9.0 8.6  10.3 17.1.0 1.1.0 13.1.2*5.15
Extended constexpr  (FTM)*N36525 3.4 19.10*Yes 4.11 17.0 17.4 9.0 8.6  10.3 17.1.0 1.1.0 13.1.2*5.15
Aggregates with default member initializers  (FTM)*N36535 3.3 19.10*Yes 4.9 16.0 16.1 9.0 8.6  10.3 17.1.0 1.1.0 16.1.1*5.14
Omitting/extending memory allocationsN3664N/A3.4 N/AYes N/AN/A17.4 N/A8.6  10.3 17.1.0 1.1.0 N/AN/A
[[deprecated]] attribute N37604.9 3.4 19.0 (2015)*Yes 4.9 15.0*
16.0
16.1 9.0 8.6  10.3 17.1.0 1.1.0 13.1.2*5.14
Sized deallocation  (FTM)*N37785 3.4 19.0 (2015)*Yes 4.10.1 17.0 16.1 8.6  10.3 17.1.0 1.1.0 16.1.1*5.14
Single quote as digit separator N37814.9 3.4 19.0 (2015)*Yes 4.10 16.0 2015 9.0 8.6  10.3 17.1.0 1.1.0 13.1.2*5.14
 

C++14 feature
 

Paper(s)
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
 
Embarcadero C++ Builder
IBM Open XL C++ for AIX
IBM Open XL C++ for z/OS
IBM XL C++
Sun/Oracle C++

[edit]C++14 library features

C++14 feature

 
Paper(s)

 
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
 
IBM Open XL C/C++ for AIX*
Sun/Oracle C++*
Embarcadero C++ Builder*
constexpr for <complex>N33025 3.4 19.0 (2015)*Yes  17.1.0 5.15 10.3
Transparent operator function objects  (FTM)*N34214.9 3.4 18.0*Yes  17.1.0 5.15 10.3
std::result_of and SFINAE  (FTM)*N34625 Yes 19.0 (Update 2)*Yes  17.1.0 5.15 10.3
constexpr for <chrono>N34695 3.4 19.0 (2015)*Yes  17.1.0 5.15 10.3
constexpr for <array>N34705 3.4 19.0 (2015)*Yes  17.1.0 5.15 10.3
constexpr for <initializer_list>, <utility> and <tuple>N34715 3.4 19.0 (2015)*Yes  17.1.0 5.15 10.3
Improved std::integral_constant  (FTM)*N35455 3.4 19.0 (2015)*Yes  17.1.0 5.15 10.3
User-defined literals for <chrono> and <string>  (FTM)*  (FTM)*N36425 3.4 19.0 (2015)*Yes  17.1.0 5.15 10.3
Null forward iterators  (FTM)*N36445 (partial)
10
3.4 19.0 (2015)*Yes  17.1.0 5.15 10.3
std::quoted  (FTM)*N36545 3.4 19.0 (2015)*Yes  17.1.0 5.15 10.3
std::make_unique  (FTM)*N36564.9 3.4 18.0*Yes  17.1.0 5.15 10.3
Heterogeneous associative lookup  (FTM)*N36575 3.4 19.0 (2015)*Yes  17.1.0 5.15 10.3
std::integer_sequence  (FTM)*N36585 3.4 19.0 (2015)*Yes  17.1.0 5.15 10.3
std::shared_timed_mutexN36595 3.4 19.0 (2015)*Yes  17.1.0 5.15 10.3
std::exchange  (FTM)*N36685 3.4 19.0 (2015)*Yes  17.1.0 5.15 10.3
Fixing constexpr member functions without constN36695 3.4 19.0 (2015)*Yes  17.1.0 5.15 10.3
Addressing tuples by type: std::get<T>()  (FTM)*N36705 3.4 19.0 (2015)*Yes  17.1.0 5.15 10.3
Dual-Range std::equal, std::is_permutation, std::mismatch  (FTM)*N36715 3.4 19.0 (2015)*Yes  17.1.0 5.15 10.3
Alias templates for transformation traits  (FTM)*N36554.9 3.4 18.0*Yes 
User-defined Literals for std::complex  (FTM)*N37794.9 3.4 19.0 (2015)*Yes 
DR11: std::is_null_pointer  (FTM)*LWG22474.9 3.4 19.0 (2015)*  
std::is_final  (FTM)*LWG21125 3.4 19.0 (2015)*  
std::make_reverse_iterator  (FTM)*LWG22855 3.4 19.0 (2015)*  
std::shared_timed_mutex  (FTM)*N38914.9 3.5 19.0 (2015)*Yes 
std::tuple_element_t  (FTM)*N38874.10 3.5 19.0 (2015)*Yes 
 

C++14 feature
 

Paper(s)
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
 
IBM Open XL C/C++ for AIX*
Sun/Oracle C++*
Embarcadero C++ Builder*

* - hover over a cell marked with the star * to see additional pop-up notes.
DRnn - the number nn after "DR" denotes target C++ revision the Defect Report is applied to, e.g., DR20 → C++20.

[edit]External links

1. C++14 - Wikipedia
2. Working C++14 examples
close