C++11
Материал из cppreference.com
< cpp
C++11 вторая основная версия C++ и самое важное обновление после C++98. Было внесено большое количество изменений как для стандартизации существующих практик, так и для улучшения абстракций, доступных программистам на C++.
Прежде чем он был окончательно утверждён ISO 12 августа 2011 года, использовалось название 'C++0x', поскольку ожидалось, что он будет опубликован до 2010 года. Между C++03 и C++11 прошло 8 лет, поэтому это самый длинный интервал между версиями. С тех пор и по настоящее время C++ регулярно обновляется каждые 3 года.
| Этот раздел не завершён |
В C++11 были объединены следующие функции:
- Из TR1: все TR1, кроме Специальных Функций.
- Из Boost: Библиотека потоков, exception_ptr, error_code и error_condition, улучшены итераторы (begin, end, next, prev)
- Из C: Функции преобразования Юникода в стиле C
Основные возможности языка
- auto и decltype
- функции default и delete
- final и override
- конечный возвращаемый тип
- ссылки на правостороннее значение
- конструкторы перемещения и операторы присваивания перемещением
- перечисления с ограниченной областью видимости
- constexpr и литеральные типы
- список инициализации
- делегирующий и наследуемый конструкторы
- инициализаторы фигурными скобками или знаком присваивания
- nullptr
- long long
char16_tиchar32_t- псевдонимы типов
- вариативные шаблоны
- обобщённые (нетривиальные) объединения
- обобщённые POD (тривиальные типы и типы стандартного выравнивания)
- строковые литералы Юникода
- определяемые пользователем литералы
- атрибуты
- лямбда-выражения
- спецификатор noexcept и оператор noexcept
- alignof и alignas
- многопоточная модель памяти
- класс памяти thread-local
- интерфейс GC (удалено в C++23)
- диапазонный
for(на основе библиотеки Boost) - static_assert (на основе библиотеки Boost)
| Этот раздел не завершён |