Site Tools


Hotfix release available fixing CVE-2017-12583: 2017-02-19c "Frusterick Manners". upgrade now! [49.3] (what's this?)
Hotfix release available fixing security token and media manager: 2017-02-19b "Frusterick Manners". upgrade now! [49.2] (what's this?)
cpp14

C++11/C++14 Compiler Support

Language Feature Proposal VS 2010 VS 2012 VS 2013 VS 2015 Intel 13.0 Intel 14.0 Intel 15.0 Intel 16.0 Clang 3.6 GCC 5 Info / Example Code
auto N2546 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes auto
decltype N3276 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Rvalue references N3053 Yes Yes Partial Yes Yes Yes Yes Yes Yes Yes
Rvalue references for *this / Ref-qualifiers N2439 NO NO NO Yes NO Yes Yes Yes Yes Yes
Lambdas N2927 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
nullptr N2431 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
static_assert N1720 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Range-based for-loop N2930 NO Yes Yes Yes Yes Yes Yes Yes Yes Yes
Trailing return types N2541 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
extern template N1987 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Local and unnamed types as template arguments N2657 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Variadic macros Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Variadic templates N2555 NO NO Yes Yes Yes Yes Yes Yes Yes Yes rise4fun Code
Function templates Default arguments DR226 NO NO Yes Yes Yes Yes Yes Yes Yes Yes rise4fun Code
override and final N3272 Yes Yes Yes Yes NO Yes Yes Yes Yes Yes
Strongly-typed enums N2347 Partial Yes Yes Yes Partial Yes Yes Yes Yes Yes
Forward declared enums N2764 NO Yes Yes Yes Partial Yes Yes Yes Yes Yes
initializer_list / Uniform initialization N2672 NO NO Yes Yes Partial Yes Yes Yes Yes Yes rise4fun Code
Explicit conversion operators N2437 NO NO Yes Yes NO Yes Yes Yes Yes Yes rise4fun Code
Raw string literals N2442 NO NO Yes Yes NO Yes Yes Yes Yes Yes rise4fun Code
Delegating Constructors N1986 NO NO Yes Yes NO Yes Yes Yes Yes Yes rise4fun Code
Inheriting Constructors N2540 NO NO NO Yes NO NO Yes Yes Yes Yes
alias templates N2258 NO NO RTM Yes Yes Yes Yes Yes Yes Yes
=default =delete/ Defaulted and Deleted methods N2346 NO NO RTM Yes Yes Yes Yes Yes Yes Yes
Generalized attributes Standard attributes N2761 NO NO NO NO Yes Yes Yes Yes Yes Yes
Inline namespaces / Namespace Association N2535 NO NO NO Yes NO Yes Yes Yes Yes Yes
Unrestricted unions N2544 NO NO NO Yes NO NO Yes Yes Yes Yes
User defined literals N2765 NO NO NO Yes NO NO Yes Yes Yes Yes
Raw String Literals N2442 NO NO Yes Yes NO Yes Yes Yes Yes Yes
Non-static data member initializers N2756 NO NO RTM Yes NO Yes Yes Yes Yes Yes ideone code
noexcept N2855 NO NO NO Yes Partial Yes Yes Yes Yes Yes Using noexcept
constexpr / Generalized constant expressions N2235 NO NO NO Partial Partial Yes Yes Yes Yes Yes constexpr is not const
C99 compatibility / C99 preprocessor N1653 Partial Partial Partial Partial Yes Yes Yes Yes Yes Yes
Alignment support / alignas, alignof N2341 NO NO Partial Yes NO Yes Yes Yes Yes Yes
Extended friend Declarations N1791 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Expression SFINAE N2634 NO NO NO NO NO NO NO Yes Yes Yes
C++14
Binary literals N3472 NO NO NO Yes Yes Yes Yes Yes Yes Yes 0b101010
Generic lambdas N3649 NO NO NO Yes NO NO NO Yes Clang 3.4 GCC 4.9 auto l=[](auto x,auto y) {return x + y;};
Relaxing requirements on constexpr N3652 NO NO NO NO NO NO NO NO Clang 3.4 GCC 5.1
Variable templates N3651 NO NO NO NO NO NO NO NO Clang 3.4 GCC 5.1 template<typename T> constexpr T pi=T(3.1415);
decltype(auto) and Return type deduction N3638 NO NO NO Yes NO NO NO Yes Clang 3.4 GCC 4.9 auto DeduceReturnType();
Member initializers and aggregates N3653 NO NO NO NO NO NO NO Yes Yes GCC 5.1
Initialized lambda captures N3648 NO NO NO NO NO NO NO Yes Yes GCC 5.1

Code Examples

// Binary literals 
int i = 0b101010; // 42 :)
cpp14.txt · Last modified: 2015/04/30 22:00 by remotion