Other Trainings

This training is not just designed to teach the C++ programming language itself. It is also about functional programming and how it fits in with C++. Functional programming provides a different way to think about software design and a different way of programming, compared to the imperative, objectoriented styles commonly used with C++. The training is split into two parts. The first part covers functional programming idioms, and how they can be applied to C++. The second part of the training deals with more advanced concepts, mostly pertaining to functional software design.


  • Introduction to Functional Programming 
  • Getting started with functional programming 
  • Function objects 
  • Creating new functions from the old ones
  • Purity: Avoiding mutable state 
  • Lazy evaluation 
  • Ranges 
  • Functional data structures
  • Algebraic data types and pattern matching