C++ Training: Advanced C++: C++17 & More


Course Delivery

Live Instructor-Led Training

Course Description

The course Advanced C++, C++17 & More (C++ Training) pushes the boundaries of C++ development under the C++17 and C++11 standards. The training includes the use of modern C++ including data structures, memory management, multithreaded programming, locales, templates & more. The entire course is dedicated to advanced programming techniques that allow you to create powerful and flexible C++ code. The course optionally includes Boost, STL, or ATL.

Course Dates and Pricing


Sep 4 - 7, 2018$3,500.00Oct 2 - 5, 2018$3,500.00Oct 30 - Nov 2, 2018$3,500.00Nov 27 - 30, 2018$3,500.00

Course Outline

Getting started with C++11

The C++03 and C++11 standard
Memory Architecture
Using the auto Keyword
Alternative C++ Function Syntax
Casting Operators
The new range-based for loop
Lambda Functions and Expressions
Boost.Lambda - Boost.Phoenix
Static assertions
Using const and constexppr

Data Structures

Understanding trivial and standard-layout Plain Old Data (POD)
Weak and strongly typed enumeration
Unrestricted unions
Tuples
Hashmap and Sets
Initializer List
Understanding and using type traits in C++11 and Boost

Memory Management

Memory architecture
Using unique_ptr, shared_ptr and weak_ptr
Using wrapper reference
The sizeof, alignas and alignof operators
Using set_new_handler()
Difference between NULL and nullptr
Implementing garbage collection

Multithreaded Programming

Multithreaded memory architecture
Threading facilities
Thread-local storage
Understanding atomic operations
Using std::mutex, std::lock_guard and std::unique_lock
Using std::future, std::packaged_task and std::async

Strings

Ascii, UTF and wide strings
User defined literals
Regular expressions with C++11 and Boost.Regex
Boost.Xpressive
LL parsing using Boost.Spirit

Locales

Understanding locales
Locale facets
Working with numbers
Formatting date, time and currency
Using messages and message catalogues

Classes

Changes in Constructor from C++03 to C++11
Using Peer Constructors
Inheriting Constructors
Defaulted Constructors and Members
Deleted Class Members
Explicit Function Override
Creating Final Classes
Explicit Conversion Operators

Using Templates

Variadic Template
Using extern Templates

Boost Library

What is Boost
Boost Libraries that are Part of C++11
Using Boost TR1
Boost.Utility
Containers such as Array, Circular Buffer and Dynamic Bitset
Better Temporal Management with Timer, Date-Time and Chrono
Using Thread and Thread Pools
Better IO: Filesystem, Serialization and ASIO
Boost.Accumulators
Boost.Bind and Boost.Function
Boost.Iterator and Boost.Range/Range_ex
Boost.Program_options
Interprocess signaling using Boost.Signal and Boost.Signal2
Unit Testing with Boost.Tests

Course Locations

  • Ottawa

  • Montreal

  • Toronto

Related C++ Training

C++ Training: Acquainting yourself with Objects

The course Acquainting yourself with Objects (C++ Training) covers everything you need to get started with object oriented programming using C++. The training includes basic C++ syntax & data types, memory management together with a complete exploration of class programming with C++. The course covers static data, virtual functions, inheritance & polymorphism, pure virtual functions & more. Come master the fundamentals of object oriented programming with C++. Training course titled C++ Training: Acquainting yourself with Objects that will allow you to hone your professional skills.

Sep 25 - 28, 2018$3,350.00Oct 23 - 26, 2018$3,350.00Nov 20 - 23, 2018$3,350.00Dec 18 - 21, 2018$3,350.00

C++ Training: Mastering Advanced Object Programming

The course Mastering Advanced Object Programming (C++ Training) begins with a brief overview of C++ object oriented programming. The training includes pure virtual functions, abstract classes, multiple inheritance & polymorphism. Concepts such as templates, design patterns and the use of smart pointers are discussed in practice. This is C++ programming from the ground up. Training course titled C++ Training: Mastering Advanced Object Programming that will allow you to hone your professional skills.

Sep 11 - 14, 2018$3,350.00Oct 9 - 12, 2018$3,350.00Nov 6 - 9, 2018$3,350.00Dec 4 - 7, 2018$3,350.00

C++ Training: Exploring Refactoring & Design Patterns

The course Exploring Refactoring & Design Patterns (C++ Training) demystifies design patterns with C++. The training includes the design patterns originally defined by the Gang of Four (GOF) and the fundamentals of C++ object orientated programming, Refactoring & UML. The course covers creational, behavioral & structural design patterns in C++ and provides many practical exercises that demonstrate applicability. Training course titled C++ Training: Exploring Refactoring & Design Patterns that will allow you to hone your professional skills.

Sep 18 - 21, 2018$3,500.00Oct 16 - 19, 2018$3,500.00Nov 13 - 16, 2018$3,500.00Dec 11 - 14, 2018$3,500.00

C++ Training: Mastering the Qt Library

The course Mastering the Qt Library (C++ Training) explore the power and flexibility of the Qt library. Starting with a solid introduction to the Qt library, you learn to build user interfaces with the Qt library. The training includes the use of core classes, dialogs, windows, widgets, MVC as well as painting and styling. The Qt Graphics View is covered at the end if time permits. Training course titled C++ Training: Mastering the Qt Library that will allow you to hone your professional skills.

Sep 12 - 14, 2018$2,775.00Oct 10 - 12, 2018$2,775.00Nov 7 - 9, 2018$2,775.00Dec 5 - 7, 2018$2,775.00

C++ Training: Objective-C Programming

The course Objective-C Programming (C++ Training) teaches you about Objective-C programming for Apple IOS devices. The training includes programming basics such as environment setup, variables, data types, control structures, functions & structure. The course also covers object oriented programming with Objective-C including classes, inheritance, polymorphism, interfaces & abstract classes to name a few. Our Objective-C training experience concludes with an exploration of controls and the MVC design pattern including views, models & controllers. Training course titled C++ Training: Objective-C Programming that will allow you to hone your professional skills.

Sep 4 - 7, 2018$3,350.00Oct 2 - 5, 2018$3,350.00Oct 30 - Nov 2, 2018$3,350.00Nov 27 - 30, 2018$3,350.00

C++ Training: The Complete C Programming Course

The course The Complete C Programming Course (C++ Training) covers C programming from A to Z. The training includes basic C data types & structures, functions, memory management, pointers & more. The course also discusses compiler options & directives as they apply to Windows & Linux. Training course titled C++ Training: The Complete C Programming Course that will allow you to hone your professional skills.

Sep 25 - 28, 2018$3,350.00Oct 23 - 26, 2018$3,350.00Nov 20 - 23, 2018$3,350.00Dec 18 - 21, 2018$3,350.00