Описание тега c++11
C++11 - это название версии стандарта C++, утвержденного в 2011 году. Он заменил предыдущий стандарт C++03, добавив различные изменения и исправления основного языка, а также улучшенную и расширенную стандартную библиотеку. C++11 ранее назывался C++0x, поскольку изначально предполагалось, что он будет опубликован до 2010 года.
Стандарт ISO 14882:2011 удален с веб-сайта ISO. Окончательный вариант был одобрен рабочей группой C++ 25 марта 2011 года. Общедоступный проект, наиболее близкий к C++11, - это N3337, который имеет только редакционные отличия от полного стандарта.
Более поздние версии языкового стандарта были утверждены и опубликованы в 2014 и 2017 годах (C++14 и C++17 соответственно), и вопросы, связанные с ними, имеют теги C++ 14 и C++17 здесь, в Stackru. Каждый из них заменяет предыдущий, так же как C++11 заменил C++03.
Ресурсы
- Статус функций языка C++0x в компиляторах, дополнения к Apache Stdcxx Wiki
- Статья Википедии о C++11 (может быть немного устаревшей)
- Часто задаваемые вопросы о C++0x Бьярна Страуструпа
- Страница Комитета по стандартам C++
- Поддержка потоков just:: thread C++0x и библиотека атомарных операций
- Стандартная домашняя страница C++
- Язык программирования C++ (4-е издание)
Новые и измененные функции
- Лямбда-выражения
- Уход и кормление для рекомендаций по R-значению и поддержки при переезде:
- Техническое определение ссылок на R-значение.
- Должен ли я возвращать объекты по ссылке на R-значение?
- Что такое семантика перемещения
- Как использовать поддержку перемещения для параметров функции?
- Типовые признаки для подвижных типов.
- Состояние стандартных объектов после движения.
- Объявите назначение перемещения и копирования, когда это явно необходимо, с помощью одной функции.
- Двигайтесь без исключения.
- Перемещайте только временные или явные инструкции.
- Статические утверждения для утверждений времени компиляции (как ошибки)
- Единые списки инициализации / инициализатора:
- Идеальная пересылка и ссылки на R-значение.
- Какие новые правила для POD?
- Что такое rvalues, lvalues, xvalues, glvalues и prvalues?
- Смарт-указатели C++11
- Изменены идиомы C++ в C++11:
- Какие критические изменения внесены в C++11?