Agenda: C++: A One-Day Overview (2024-11-19 - 2024-11-21)¶
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 moreLambdas
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¶
std::unique_ptr (and a little moving)
std::weak_ptr (optional)
Lambdas¶
Multithreading¶
From Multithreading:
Optional (But Cool) Topics¶
From Move Semantics, Rvalue References:
From Multithreading: communication primitives