16–19 Oct 2023
ONLINE
Europe/Vienna timezone

Agenda & Content

1st day – 16 October 2023   (9:00 – 16:30, lunch break 12:30 – 13:30)

  • Concepts and the STL

    • Overview of the STL
    • Proper use of the STL
    • Iterators
    • Algorithms
    • Containers
    • Allocators

 

2nd day – 17 October 2023   (9:00 – 16:30, lunch break 12:30 – 13:30)

  • C++ Templates

    • Function Templates
    • Class Templates
    • Variadic Templates
    • Template Specialization

 

3rd day – 18 October 2023   (9:00 – 16:30, lunch break 12:30 – 13:30)

  • Class Design

    • Compiler Generated Functions
    • Move Semantics
    • Proper Handling of Member Data
    • Proper Design of Member Functions
    • Strong Types
    • Const Correctness
    • Visibility vs. Accessibility

 

4th day – 19 October 2023   (9:00 – 15:30, lunch break 12:30 – 13:30)

  • Robust Code

    • Error Propagation
    • Exception Safety
    • RAII
    • Handling Legacy Code
       
  • Proper Use of Dynamic Polymorphism

    • The Perils of Inheritance
    • Value Semantics
    • Public Inheritance
    • Non-public Inheritance
    • Surprises in Object Hierarchies
       
  • Classical Design Patterns Revisited

    • Strategy
    • Visitor