Unlock lucrative career opportunities with our Intermediate C++ 20 Programming course, designed for experienced developers to master high-efficiency memory management, modern C++ features, and robust application development.
EnrollMaster intermediate to advanced C++ 20 programming techniques.
Optimize performance through efficient memory management strategies.
Enhance code flexibility with functional programming practices.
Utilize the C++ Standard Library for powerful, reusable components.
C++ is a powerful, high-performance programming language that offers an ideal blend of low-level memory manipulation and high-level abstraction capabilities. Learning C++ is a valuable investment for developers, as it opens the door to creating efficient, versatile, and complex applications that run on a variety of platforms. Modern companies across diverse industries – including finance, gaming, automotive, and telecommunications – rely on C++ for developing performance-critical applications, system software, and embedded systems. Renowned organizations like Google, Facebook, and Microsoft continue to leverage the power of C++ in their development practices, solidifying its status as a crucial skill for developers seeking lucrative and challenging career opportunities. Geared for experienced C++ developers, Intermediate C++ 20 / Effective C++ 20 is a four day, hands-on program that dives covers a broad spectrum of topics – from the quick review of C++ essentials to modern C++ features, memory management, unit testing, and more. Our expert instructors will walk you through a comprehensive journey, investigating cutting-edge concepts such as RAII, copy and move semantics, namespaces, templates, and C++ 20 Concepts & auto Templates. You'll learn to leverage the power of modern C++ and unravel the intricacies of memory management, including the handle/body pattern, smart pointers, and move constructors. By the end of this course, you'll have an in-depth understanding of C++ memory, pointers, and complexity. Working in a hands-on environment, explore the art of functional programming and discover how the IoC pattern, dependency injection, functors, and lambda expressions can bring about significant enhancements to your code. With a strong emphasis on SOLID principles, inheritance, polymorphism, exceptions, and operator overloading, this course will help you design robust, maintainable, and scalable modern applications. You’ll also expand your C++ toolset by exploring the rich offerings of the Standard Library, mastering the essentials of containers, algorithms, numerics, dates, and times. Gain a solid introduction to multitasking with threads, tasks, and async. As a bonus, you'll also learn how to implement effective unit testing in C++ using GTest, ensuring your code is reliable and bug-free. Join our immersive training experience and become an adept C++ developer with unparalleled skills in the latest C++ 20 programming techniques. This fast-paced, lab-intensive course is designed to equip you with the knowledge and confidence to tackle the most challenging C++ development projects.
Implementing a basic O-O design
Implementing Classes
Visibility & friends
File organization
C++ types – structs, classes, interfaces, enums
New features in C++ 11,14,17,20
RAII - Modern memory management
Copy vs Move semantics
Namespaces
Strings
Input & Output
Implementing a linked-list
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
C++ 20 concepts & auto Templates
The handle/body (Bridge) pattern
Using strings effectively
Smart Pointers
Move constructor in depth
Other features
Unit testing – Quick Overview
Unit testing in C++
Using GTest
Inheritance Concept
Inheritance in C++
Virtual Function Specification
Invoking Virtual Functions
VTable
Virtual Destructors
Abstract Class Using Pure Virtual Function
Design for Polymorphism
Interfaces
Design for Interface
A SOLID introduction
Review of the basics: try, catch, throw
The throws declaration in modern C++
Using noexcept
Overriding terminate
Basics
Essential Operators
Conversion Operators
Constructor as conversion
Explicit vs Implicit conversion
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
Perspective
History and Evolution
New Features
Generic Programming
Containers
Algorithms
Numerics
Dates & Times
Initializer List
Threads
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