C++11/14 Features In Visual Studio 14 CTP3

Visual Studio 14 CTP3 is now available, with support for C++11 thread_local, C++11 quick_exit/at_quick_exit, and C++14 sized deallocation.  For reference, here’s an updated table.  (Previous tables: VS 2008 and VS 2010, VS 2010 and VS 2012, VS 2013 and the Nov 2013 CTP (i.e. VS14 CTP0), VS 2013 and VS14 CTP1.  “CTP” stands for “Community Technology Preview” and means “alpha”.)

 

C++11 Core Language Features

VS 2013

VS14 CTP3

Rvalue references

Partial

Yes

ref-qualifiers

No

Yes

Non-static data member initializers

Yes

Yes

Variadic templates

Yes

Yes

Initializer lists

Yes

Yes

static_assert

Yes

Yes

auto

Yes

Yes

Trailing return types

Yes

Yes

Lambdas

Yes

Yes

decltype

Yes

Yes

Right angle brackets

Yes

Yes

Default template args for function templates

Yes

Yes

Expression SFINAE

No

No

Alias templates

Yes

Yes

Extern templates

Yes

Yes

nullptr

Yes

Yes

Strongly typed enums

Yes

Yes

Forward declared enums

Yes

Yes

Attributes

No

No

constexpr

No

Partial

Alignment

Partial

Yes

Delegating constructors

Yes

Yes

Inheriting constructors

No

Yes

Explicit conversion operators

Yes

Yes

char16_t and char32_t

No

No

Unicode string literals

No

No

Raw string literals

Yes

Yes

Universal character names in literals

No

No

User-defined literals

No

Yes

Standard-layout and trivial types

Yes

Yes

Defaulted and deleted functions

Partial

Yes

Extended friend declarations

Yes

Yes

Extended sizeof

No

Yes

Inline namespaces

No

Yes

Unrestricted unions

No

Yes

Local and unnamed types as template args

Yes

Yes

Range-based for-loop

Yes

Yes

override and final

Yes

Yes

Minimal GC support

Yes

Yes

noexcept

No

Yes

C++11 Core Language Features: Concurrency

VS 2013

VS14 CTP3

Reworded sequence points

N/A

N/A

Atomics

Yes

Yes

Strong compare and exchange

Yes

Yes

Bidirectional fences

Yes

Yes

Memory model

N/A

N/A

Data-dependency ordering

Yes

Yes

Data-dependency ordering: attributes

No

No

exception_ptr

Yes

Yes

quick_exit and at_quick_exit

No

Yes

Atomics in signal handlers

No

No

Thread-local storage

Partial

Yes

Magic statics

No

Yes

C++11 Core Language Features: C99

VS 2013

VS14 CTP3

__func__

Partial

Yes

C99 preprocessor

Partial

Partial

long long

Yes

Yes

Extended integer types

N/A

N/A

C++14 Core Language Features

VS 2013

VS14 CTP3

Tweaked wording for contextual conversions

No

No

Binary literals

No

No

auto and decltype(auto) return types

No

Yes

init-captures

No

Yes

Generic lambdas

No

Partial

Variable templates

No

No

Extended constexpr

No

No

NSDMIs for aggregates

No

No

Avoiding/fusing allocations

No

No

[[deprecated]] attributes

No

No

Sized deallocation

No

Yes

Digit separators

No

No

 

Also, here’s a slide from Herb Sutter outlining what’s likely to ship in VS14 RTM (which, as a reminder, is scheduled for 2015):

 

 

Stephan T. Lavavej

Senior Developer – Visual C++ Libraries

stl@microsoft.com