Advanced C++

Students will leave this course armed with the required skills to put advanced C++ programming skills right to work in a practical environment, using sound coding techniques and best practices.

Overview

Advanced C++ is a lab-intensive, hands-on C++ training course geared for experienced C++ programmers who wish to take their development skills to the next level.

This course is about 50% hands-on lab and 50% lecture, with extensive programming exercises designed to reinforce fundamental skills and concepts learned in the lessons.

 

Audience

Experienced C++ Programmers

Length

4 days

Outline

This comprehensive course consists of three modules. A preliminary module reviews topics, including inheritance, the ANSI C++ Standard Library, templates. I/O streams, and practical issues of C++ programming, such as reliability & testing. This material is covered as needed depending on the background of the students.

The second module covers more advanced topics.  Unit testing, advanced inheritance & polymorphism are discussed.  Memory management along with move constructors and RAII are explored.  Templates and generic programming are explored including lambda expressions and functors.

The third module is a deep dive into  the Standard C++ Library.  Containers, Algorithms, Threads and much more.

Throughout the course, new features of modern C++ (version 11 and beyond) are introduced as well as the impact on programming style.  These new features include smart pointers, move constructors, functional programming and lambda expressions.

Working within an engaging, hands-on learning environment, attendees will explore:

  • C++ Standard Library
  • Templates
  • Practical Aspects of C++ Programming
  • Advanced Polymorphism and Inheritance
  • Exception Handling
  • Containers
  • Threads & Tasks
  • Functional Programming