Agenda: C++: A One-Day Overview (Date Yet Unknown)

The “New C++”: Fundamental Changes Since 2011

A live-coded overview of what will follow, showing the cornerstones of the “new C++”. Starting with a C++98 code base, we morph that into something that has a more modern appeal.

  • Memory management/pointer types (std::shared_ptr<>, std::unique_ptr<>)

  • Pythonicity: auto, Structured Binding, and more

  • Lambdas

  • Threading: threads, and locking

  • Container classes and iteration: range based for

  • Real container initialization

  • Generalized typesafe unions: std::variant<>

  • Generalized function pointer: std::function<>

  • New OO features: final, overide

Low Hanging Fruit

Much of it has been said in the intro section, but let’s quickly repeat …

Memory Management

Lambdas

Multithreading

From Multithreading:

Optional (But Cool) Topics

From Move Semantics, Rvalue References:

From Multithreading: communication primitives