Modernizing Your C++ [2018 Class Archive]

“Modernizing Your C++” is a two-day training course taught by Michael Caisse of Ciere Consulting. It is offered at the Meydenbauer Conference Center from 9AM to 5PM on Saturday and Sunday, September 22nd and 23rd, 2018 (immediately prior to the conference). Lunch is included.

Course Description

The C++11 standard practically introduced a new language. Paired with improvements from C++14 and there is a lot to take advantage of. Are you ready to update your code base? Whether you are starting a new project or maintaining an existing one, there are features to enhance the performance, expressiveness, and quality of your code.
This two-day bootstrap course will get you going with the core language and standard library changes you are most likely to employ in your daily work. Join us as we explore new features through examples and exercises while discussing practical uses and gotchas. Compiler support will be addressed with each feature as we build on usage so that whether you utilize a compiler that is barely C++11 complaint or one that has all of C++14 you can take away some goodness.
A recent student wrote to management:

I wanted to thank you for setting up this invaluable C++ Training with Michael Caisse. It was by far the most influential technical training I have had in my career.

Join us and start using the power of modern C++ in your own projects!

Prerequisites

Participants should have basic knowledge of the C++ language.

This course includes exercises, so bring your laptop and your favorite C++11/14 development environment.

Course Topics

C++11/14

Some of the language features covered:

  • integer types, nullptr
  • uniform initializer, initializer lists
  • auto and decltype
  • alternative function syntax
  • rvalue reference and move semantics
  • explicit conversion operators
  • alias templates
  • variadic templates
  • constexpr
  • default/delete special member functions
  • range-based for loop
  • function and bind
  • lambda expressions
  • smart pointers
  • tuple
  • regex, random
  • static_assert, typeof

C++11/14 Threading

Some of the threading topics covered:

  • chrono
  • atomic
  • async
  • futures and promises
  • thread
  • mutex
  • condition variables

Course Instructor

MichaelCaisse

Michael Caisse has been crafting code in C++ for nearly 25-years. He is a regular speaker at various conferences and is passionate about teaching and training. Michael is the owner of Ciere Consulting which provides software consulting and contracting services, C++ training, and Project Recovery for failing multidisciplinary engineering projects.
When he isn’t fighting with compilers or robots, he enjoys fencing with a sabre.