Курсы C/C++
Общая информация Расписание и стоимость
Условия обучения
Проведение занятий Преподаватели Учебные материалы Документы об окончании Отзывы слушателей
Информация о сертификации
Сертификации C++ CPA CPP CLA CLP

Другие курсы

Курсы C++ Курсы Java Курсы C# (.NET) Курсы Microsoft C# (.NET) Программирование Android Курсы Web-технологий Программирование Linux Тестирование ПО Программирование микроконтроллеров

Обратная связь

+7 (812) 703-02-02 Форум
Печать

DEV-C22. Стандарт С++11, С++14, С++17 для прикладного программирования


График обучения: 4 дня по 8 часов или 8 дней по 4 часа

Начало занятий:

    05.02.2018, 1800

Записаться на курс

Аннотация

Стандарт С++11 - это первое значительное изменение стандарта языка С++ с 1998-го года. Многие полезные нововведения были позаимствованы из популярной в среде программистов на С++ библиотеки Boost и согласно новому стандарту стали «родными» в реализации С++, то есть поддерживаются как компилятором, так и стандартной библиотекой. В результате – перед нами практически новый язык программирования, возможностями которого пока еще мало кто пользуется, а некоторые программисты даже не в курсе тех новшеств, которые появились в языке С++.

Целью данного курса является освоение новых концепций и программных средств, добавленных в язык программирования С++ согласно стандарту С++11. Также в курсе рассматриваются изменения, включенные в стандарт C++14 и C++17. Средства стандарта С++11-14-17 для создания многопоточных приложений вынесены в отдельный курс – C23 и базируются на знаниях, полученных в курсе С22.

Документы об окончании обучения

  • Удостоверение о повышении квалификации
    Удостоверение о повышении квалификации
  • Сертификат учебного центра
    Сертификат учебного центра

Преподаватели

Знания и умения, полученные в результате обучения

После окончания обучения программист сможет:

  • повысить эффективность работы программы за счет использования семантики перемещения (move semantics);
  • уменьшать количество дублируемого кода посредством семантики продвижения (forwarding);
  • увеличивать гибкость программ за счет использования шаблонов с переменным числом параметров (variadic templates);
  • применять для поддержки локальных действий лямбда функции;
  • а также использовать другие удобные и полезные новшества, появившиеся в С++.

Курсы, в освоении которых помогут приобретенные знания:

Расписание

Начало курса Окончание курса Даты занятий Время занятий Номер аудитории Преподаватель
05.02.2018 23.02.2018 По будним дням 1800-2120
18 дней по 4 ак.ч. в день

В рамках комплексной программы DEV-С-CP+. Расширенная комплексная программа «Разработчик прикладного программного обеспечения (Языки С и C++)», при наличии свободных мест

Аудитория №232 Полубенцева Марина Игоревна Записаться на курс

Стоимость

Дата Физ. лица, руб. Юр. лица, руб.
Без скидки Cкидка 10%* Cкидка 15%** Без скидки Cкидка 10% Cкидка 15%
Цена c 18.01.2016 17900 16100 15200 21900 19700 18600

*Скидка 10% для ранее обучавшихся, при одновременной оплате 2х курсов, а также по акциям.
**Скидка 15% при одновременной оплате 3х и более курсов.
Примечание. Студентам ВУЗов Санкт-Петербурга очной формы обучения скидка до 25%.
Скидки не предоставляется на курсы с дистанционной формой обучения.
Скидки не предоставляется на комплексные и модульные программы обучения.

Требования к начальному уровню знаний

  • Уверенное манипулирование классами;
  • Понимание механизмов, которые неявно реализует компилятор при действиях с объектами;
  • Владение приемами обобщенного программирования (templates);
  • Знание контейнеров, обобщенных алгоритмов и предикатов STL.

Курсы, обеспечивающие достаточный начальный уровень знаний:

Программа курса

Тема 1. Введение в стандарт ISO/IEC 14882:2011.

  • Необходимость нововведений языка С++.
  • Преемственность стандарта С++11 от библиотеки Boost.

Тема 2. Нововведения в ядре языка С++

  • Новые типы.
  • Расширение возможностей компилятора по определению типа.
  • Range based for.
  • Выражения, вычисляемые на этапе компиляции.

Тема 3. Расширение функциональности стандартной библиотеки

  • Новые глобальные функции.
  • Универсальная инициализация.
  • Конструирование «по месту».

Тема 4. Лямбда выражения

  • Локальные функции.
  • Удобство для программиста.

Тема 5. Нововведения в классах

  • Инициализация переменных класса.
  • Автоматическая генерация компилятором методов класса.
  • Изменения в инициализации производных классов.

Тема 6. rvalue reference и семантика перемещения

  • Понятие rvalue reference.
  • Перемещающие операции.
  • Семантика перемещения при наследовании.
  • Семантика перемещения при внедрении.

Тема 7. Семантика продвижения (forward)

  • Использование T&& в шаблонах.
  • Шаблон std::forward.

Тема 8. Регулярные выражения.

  • Назначение регулярных выражений.
  • Синтаксис регулярных выражений.
  • Средства, предоставляемые стандартной библиотекой для использования регулярных выражений.

Тема 9. Смарт-указатели. Идиома RAII.

  • Идиома RAII.
  • Класс std::unique_ptr.
  • Класс std::shared_ptr.
  • Класс std::weak_ptr.

Тема 10. Шаблоны с переменным числом параметров.

  • Понятие variadic template.
  • Реализация variadic template функции.
  • Реализация variadic template класса.

Тема 11. Шаблоны std::tuple, std::function, std::mem_fn, std::bind.

  • Шаблон std::tuple.
  • Шаблон std::function.
  • Шаблон std::mem_fn.
  • Шаблон std::bind.