Список фич C++0x, поддерживаемых в Visual Studio 2010

В MSDN опубликовали список фич C++0x, которые поддерживает выходящая скоро Visual Studio 2010.
Вот этот список:

C++0x Core Language Features

Proposal

VC9

VC10

Rvalue references

N2118

No

v2

Rvalue references v2

N2844

No

v2

Rvalue references for *this

N2439

No

No

Initialization of class objects by rvalues

N1610

Yes

Yes

static_assert

N1720

No

Yes

auto

N1984

No

Yes

Multi-declarator auto

N1737

No

Yes

Removing old auto

N2546

No

Yes

Trailing return types

N2541

No

Yes

Lambdas

N2927

No

v1.0

decltype

N2343

No

Yes

Right angle brackets

N1757

Yes

Yes

Extern templates

N1987

Yes

Yes

nullptr

N2431

No

Yes

Strongly typed enums

N2347

Partial

Partial

Forward declared enums

N2764

Partial

Partial

Extended friend declarations

N1791

Partial

Partial

Local and unnamed types as template arguments

N2657

Yes

Yes

C++0x Core Language Features: Concurrency

exception_ptr

N2179

No

Yes

Thread-local storage

N2659

Partial

Partial

C++0x Core Language Features: C99

__func__

N2340

Partial

Partial

C99 preprocessor

N1653

Partial

Partial

long long

N1811

Yes

Yes



Практически всё поддерживается полностью. “Partial” значит, что фича реализована не полностью или по-другому, не по стандарту. Например, __func__ не реализована, но __FUNCTION__ в Visual C уже давно работает.
Из моих любимых фич, которые реально упрощают и ускоряют работу - auto и лямбды.
А Rvalue references - еще более офигительная фича. Всё руки не доходят сделать тесты и написать статью со сравнением скорости работы STL контейнеров в VS9 и VS10 - разница будет в разы. При этом код менять не надо - просто перекомпилировать другим компилятором.

8 комментариев к Список фич C++0x, поддерживаемых в Visual Studio 2010

  • Это конечно отлично, но если посмотреть на список поддерживаемых GCC становиться грустно http://gcc.gnu.org/gcc-4.5/cxx0x_status.html :-( Есть вероятность что больше ничего нового в VS2010 уже поддерживать не будет. Раз с 12 апреля продажи начинаются в России.

  • В разы - это преувеличение конечно, но первый попавшийся модуль, который мы скомпилили в бета версии студии дал прирост производительности 20%.

  • legolegs

    А Rvalue references - еще более офигительная фича.

    Это не фича, это исправление кошмарного бага в дизайне языка.

    Например, __func__ не реализована,

    Не понятно почему. Какие тут могут быть сложности?!

    Из моих любимых фич, которые реально упрощают и ускоряют работу - auto и лямбды.

    Да, это здорово. Ещё бы простенький foreach.

    но если посмотреть на список поддерживаемых GCC становиться грустно

    Лично мне грустно потому что gcc 4.5 до продакшена хз когда доберётся. Даже в fedora 13 будет gcc 4.4 и это не спроста.

Ответить

 

 

 

Вы можете использовать эти HTML тэги

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>