C++ Advanced Programming Training
This C++ advanced course introduces C++ concepts for advanced programmers. This includes especially templates, which are the basis for the C++ standard library (STL).
This course differs from many other C++ courses in that the new language elements of C++11, C++14 and C++17 are used from the beginning. It is aimed at software developers in companies who want to program professionally with C++. The course can be conducted with the compiler of your choice (Microsoft C++ with Visual Studio 2017, gcc etc.).
This C++ advanced course, together with the C++ basic course, provides a comprehensive overview of modern C++.
The lecturer Prof. Richard Kaiser has already held well over 100 company seminars on C# and C++. His customers include renowned global corporations and small and medium-sized enterprises. He knows the practical requirements and deals with them in detail both in the basic concepts and in the details.
Contents C++ advanced course:
The contents can be adapted to the wishes of the participants.
- Defining and using namespaces
2. Exception handling
- try, catch, throw
- Exceptions in the Standard Library
- Releasing Resources (RAII)
3. Standard library containers
- Sequential containers, iterators
- Ordered and unordered associative containers
- vector, list and deque
4. Functors and lambda expressions
- The call operator
- Predicates and comparison functions
- Lambda expressions
- Function templates and specializations
- Non-Type Parameters
- Recursive Function Templates and Variadic Templates
- Class templates
- Type traits
- Type inference
6. STL algorithms and lambda expressions
- Iterators: reverse generators, insert functions and insert generators, stream iterators
- Linear search and counting
- Searching for subsequences
- Minimum and maximum
- Swapping elements
- Copying ranges
- Transform, replace and remove elements
- Partitioning and Sorting
- Binary search in sorted areas
- Mixing of sorted areas
- Set operations on sorted areas
7. Times and calendars with chrono
- Time and duration
- Starting Functions with async and thread
- Multithreading with Lambda expressions
- Exceptions in Threads
- future and promise
- Lock critical sections with lock_guard etc.
- condition variables
9. smart pointer
- unique_ptr, shared_ptr, weak_ptr
Target group: Software developers who want to program with Microsoft Visual Studio in C++.
Requirements: Knowledge of C++ within the scope of the basic C++ course.
Teaching style: Lecture with many examples. A balanced combination of theory and practice.
- At the beginning of a new topic, an overview of the application possibilities, basic ideas and syntax is described. The concepts and syntax are then illustrated using carefully selected and proven examples.
- If the participants want to deepen their knowledge independently: The manuscript contains numerous practical exercises.
- Flexibility: If it turns out during the seminar that the participants lack the basics or that further topics are desired, I can adapt the agenda to the participants’ wishes at any time.
Manuscript: Detailed printed training material (approx. 200 pages) – Complete text, no PowerPoint slides containing only keywords. Therefore the course material can also be used as a reference at work.
Place and time: This seminar is offered as a company seminar (in-house).
Duration: 5 days
Contact: see here