Возможности C++11 в Visual Studio 2012
предварительная версия Visual Studio 2012 (следующая версия после VS2010) -теперь доступен.
кто-нибудь знает, какие новые функции C++11 он поддерживает? (Я не в состоянии попробовать его в данный момент).
7 ответов:
стоит отметить, что Visual Studio 2010 уже имел довольно много ранней поддержки C++11. Итак, чтобы суммировать то, что уже связано с другими ответами, вот что нового в Visual Studio 11, которое не было частью Visual Studio 2010:
- ссылки rvalue к версия 2.1 от 2.0
- лямбда-выражения для версия 1.1 от 1.0.
- decltype to версия 1.1 от 1.0(пока не доступен в developer предварительный просмотр)
- улучшено, но все еще неполно,трассы
- завершенные строго типизированные перечисления
- вперед объявленные перечисления
- стандартная компоновка и тривиальные типы
- Атомикс
- сильное сравнение и обмен
- двунаправленный заборы
- зависимость от данных заказ
- диапазон на основе цикла
в начале ноября 2012 года, Microsoft объявил the компилятор Visual C++ ноябрь 2012 CTP, который добавляет больше функциональности C++11 в Visual Studio 2012:
- инициализации
- списки инициализатора
- шаблоны вариативная
- шаблон функции по умолчанию аргументы
- делегирование конструкторов
- операторы явного преобразования
- сырые строки
список здесь. Что поражает меня больше всего-это особенности, которые по-прежнему отсутствует:
- они сказали: они будут реализовывать вариативные шаблоны в качестве приоритета, и они этого не сделали.
- нам все равно придется объявлять конструкторы перемещения вручную для многих классов, так как нет делегирующих конструкторов.
- наследующих конструкторов нет, и это действительно было бы необходимо для некоторых код
- нет инициализации, в частности, нет списков инициализаторов. Это отстой, когда вы использовали их с g++.
- по-прежнему нет правильного локального хранилища потоков. Так что вы застряли с
boost::thread_specific_ptr
на некоторое время.все остальные функции, которые еще не хватает в основном вещи, которые вы можете жить без. То, что я перечисляю здесь, - это то, что меня каждый день пилит при работе с VS10. Это просто так раздражает, что они не работали над компилятором все.
EDIT: Я также добавлю, что
emplace_back
(одна отличная функция для стандартных контейнеров библиотеки) не правильно реализована.
во время GoingNative в феврале 2012 года STL объявила, что range-for будет в VS11, начиная с бета-версии, которая ожидается 29 февраля. А запись разговора доступно. "Открытие" находится на отметке в один час 38 минут.