Advance your software development career by mastering modern C++ programming techniques, designed for experienced developers who seek to optimize coding practices through a comprehensive, hands-on course.
Understand and apply modern C++ programming concepts.
Implement robust memory management techniques.
Explore advanced inheritance and polymorphism.
Develop proficiency with the Standard C++ Library.
Advanced C++ Programming (Modern 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. 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. 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.
No upcoming dates. Please check back later.
New keywords in C++ 11,14,17
RAII - Modern memory management in C++ - overview
Copy vs Move semantics
Namespaces
General Purpose Functions
Function Templates
Template Parameters
Template Parameter Conversion
Function Template Problem
Generic Programming
General Purpose Classes
Class Templates
Class Template Instantiation
Non-Type Parameter
C++ Containers overview
Variadic Templates
The handle/body (Bridge) pattern
Using strings effectively
Smart Pointers
Move constructor in depth
Other features
Base Class Initializer List
Composition
Member Initialization List
Order of Initialization
Inheritance vs. Composition
Interfaces
Polymorphism
Chaining Constructors
Inheriting Constructors
Exception Handling
try and catch
Exception Flow of Control
Context and Stack Unwinding
Handling Exceptions in best Context
Benefits of Exception Handling
Unhandled Exceptions
Clean Up
Multiple Catch Handlers
What is overloadable?
Why overload operators?
Functors
Unit testing – Quick Overview
Unit testing in C++
Introduction
Overview
The IoC pattern
Dependency Injection
Functions as objects
IoC via interface
Functors
IoC with Functors
Implementing Functors
Function Pointers
IoC with Function Pointers
Lambda Expressions
Lambda Syntax
IoC with Lambdas
Runtime Type and Polymorphism
type_info Class
typeid Operator
Compiler Options
Safe Pointer Conversions
Dynamic Cast
New C++ Style Casts
Static Cast
Reinterpret Cast
Const Cast
Vectors
Vector.cpp
Vector Operations
Typedefs
Deques
deque as Stack
deque Functionality
Lists
Generic Programming
Tradeoff with Lists
List Memory Allocation
list Functionality
Associate Containers
Sets
Sets with User Defined Objects
Multisets (Bags)
Maps
Multimaps
Functional Programming with Containers
Pointers
Template Version
String Version
A Generalization of Pointers
STL Iterators
Input Iterators
Output Iterators
Forward Iterators
Bidirectional Iterators
Random Access Iterators
Overview Threads
Starting Threads
Managing threads
Overview of Tasks
Tasks
async
Your team deserves training as unique as they are.
Let us tailor the course to your needs at no extra cost.
Trusted by Engineers at:
and more...
Aaron Steele
Casey Pense
Chris Tsantiris
Javier Martin
Justin Gilley
Kathy Le
Kelson Smith
Oussama Azzam
Pascal Rodmacq
Randall Granier
Aaron Steele
Casey Pense
Chris Tsantiris
Javier Martin
Justin Gilley
Kathy Le
Kelson Smith
Oussama Azzam
Pascal Rodmacq
Randall Granier