100 likes | 260 Views
Нововведения в C++11. Докладывает: Сорокина Маргарита. Предполагаемые изменения стандарта. поддержка стабильности языка и обеспечение совместимости с C++98 и, по возможности, с Си; предпочитается введение новых возможностей через стандартную библиотеку, а не через ядро языка
E N D
Нововведения в C++11 • Докладывает: • Сорокина Маргарита.
Предполагаемые изменения стандарта • поддержка стабильности языка и обеспечение совместимости с C++98 и, по возможности, с Си; • предпочитается введение новых возможностей через стандартную библиотеку, а не через ядро языка • предпочитаются изменения, которые улучшают технику программирования • совершенствовать C++ с точки зрения системного и библиотечного дизайна, вместо введения новых возможностей, полезных для отдельных приложений • увеличивать типобезопасность для обеспечения безопасной альтернативы для нынешних опасных подходов
Предполагаемые изменения стандарта • увеличивать производительность и возможности работать напрямую с аппаратной частью; • обеспечивать решение реальных распространённых проблем; • реализовать принцип «не платить за то, что не используешь»; • сделать C++ проще для изучения без удаления возможностей, используемых программистами-экспертами.
Расширение ядра С++ • Многопоточность • Обобщённое программирование • Унификайия инициализации • Повышение производительности • Повышение удобства • Новая функциональность
Повышение производительности за счёт ядра языка • Ссылки на временные объекты и семантика переноса • Обобщённые константные выражения • Изменения в определении простых данных
Ускорение компиляции языка • Внешние шаблоны • Новые инструкции компилятора, для работы с шаблонами
Улучшения в практическом использовании языка • Списки инициализации • Универсальная инициализация • Вывод типов • For-цикл по коллекции • Лямбда-функции и выражения • Альтернативный синтаксис функций • Улучшение конструкторов объектов
Явное замещение виртуальных функций и финальность • Константа нулевого указателя • Перечисления со строгой типизацией • Угловые скобки • Операторы явного преобразования • typedef для шаблонов • Снятие ограничений с union • Идентификаторы со специальным значением
Улучшения в ядре языка • Шаблоны с переменным числом аргументов • Статическая диагностика • Работа sizeof с элементами данных в классах без создания объекта