Support For C++11/14/17 Features (Modern C++)

原文鏈接:https://msdn.microsoft.com/en-us/library/hh567368.aspx


C++11 Core Language Features

Visual Studio 2010

Visual Studio 2012

Visual Studio 2013

Visual Studio 2015

Rvalue references v0.1, v1.0, v2.0, v2.1, v3.0

v2.0

v2.1*

v2.1*

v3.0

ref-qualifiers

No

No

No

Yes

Non-static data member initializers

No

No

Yes

Yes

Variadic templates v0.9, v1.0

No

No

Yes

Yes

Initializer lists

No

No

Yes

Yes

static_assert

Yes

Yes

Yes

Yes

auto v0.9, v1.0

v1.0

v1.0

v1.0

Yes

Trailing return types

Yes

Yes

Yes

Yes

Lambdas v0.9, v1.0, v1.1

v1.0

v1.1

v1.1

Yes

decltype v1.0, v1.1

v1.0

v1.1**

v1.1

Yes

Right angle brackets

Yes

Yes

Yes

Yes

Default template arguments for function templates

No

No

Yes

Yes

Expression SFINAE

No

No

No

No

Alias templates

No

No

Yes

Yes

Extern templates

Yes

Yes

Yes

Yes

nullptr

Yes

Yes

Yes

Yes

Strongly typed enums

Partial

Yes

Yes

Yes

Forward declared enums

No

Yes

Yes

Yes

Attributes

No

No

No

Yes

constexpr

No

No

No

Yes

Alignment

TR1

Partial

Partial

Yes

Delegating constructors

No

No

Yes

Yes

Inheriting constructors

No

No

No

Yes

Explicit conversion operators

No

No

Yes

Yes

char16_t/char32_t

No

No

No

Yes

Unicode string literals

No

No

No

Yes

Raw string literals

No

No

Yes

Yes

Universal character names in literals

No

No

No

Yes

User-defined literals

No

No

No

Yes

Standard-layout and trivial types

No

Yes

Yes

Yes

Defaulted and deleted functions

No

No

Yes*

Yes

Extended friend declarations

Yes

Yes

Yes

Yes

Extended sizeof

No

No

No

Yes

Inline namespaces

No

No

No

Yes

Unrestricted unions

No

No

No

Yes

Local and unnamed types as template arguments

Yes

Yes

Yes

Yes

Range-based for-loop

No

Yes

Yes

Yes

override and final v0.8, v0.9, v1.0

Partial

Yes

Yes

Yes

Minimal GC support

Yes

Yes

Yes

Yes

noexcept

No

No

No

Yes

[In This Article]

C++11 Core Language Features: Concurrency

Visual Studio 2010

Visual Studio 2012

Visual Studio 2013

Visual Studio 2015

Reworded sequence points

N/A

N/A

N/A

Yes

Atomics

No

Yes

Yes

Yes

Strong compare and exchange

No

Yes

Yes

Yes

Bidirectional fences

No

Yes

Yes

Yes

Memory model

N/A

N/A

N/A

Yes

Data-dependency ordering

No

Yes

Yes

Yes

Data-dependency ordering: function annotation

No

No

No

Yes

exception_ptr

Yes

Yes

Yes

Yes

quick_exit

No

No

No

Yes

Atomics in signal handlers

No

Yes

Yes

Yes

Thread-local storage

Partial

Partial

Partial

Yes

Magic statics

No

No

No

Yes

[In This Article]

C++11 Core Language Features: C99

Visual Studio 2010

Visual Studio 2012

Visual Studio 2013

Visual Studio 2015

__func__

Partial

Partial

Partial

Yes

C99 preprocessor

Partial

Partial

Partial

Partial

long long

Yes

Yes

Yes

Yes

Extended integer types

N/A

N/A

N/A

N/A

[In This Article]

Feature

Visual Studio 2013

Visual Studio 2015

Tweaked workding for contextual conversions

Yes

Yes

Binary literals

No

Yes

auto and decltype(auto) return types

No

Yes

init-captures

No

Yes

Generic lambdas

No

Yes

Variable templates

No

No

Extended constexpr

No

No

NSDMIs for aggregates

No

No

Avoiding/fusing allocations

No

No

[[deprecated]] attributes

No

No

Sized allocation

No

Yes

Digit separators

No

Yes

Feature

Visual Studio 2013

Visual Studio 2015

New rules for auto with braced-init-lists

No

No

Terse static assert

No

No

typename in template template-parameters

No

No

Removing trigraphs

Yes

Yes

Nested namespace definitions

No

No

N4259 std::uncaught_exceptions()

No

No

N4261 Fixing qualification conversions

No

No

N4266 Attributes for namespaces and enumerators

No

No

N4267 u8 character literals

No

No

N4268 Allowing more non-type template args

No

No

N4295 Fold expressions

No

No

await/resume

No

Yes



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章