C++ Level 3 - Expand Your Use of Modern C++

C++ Level 3 – Expand Your Use of Modern C++

Interested? Contact us!
3 days
SEK 19.900

Request more information

Magnus Kindberg (SE,NO)
Phone: +46 (0)40 59 22 22
magnus.kindberg@nohau.se

Heidi Lehtomäki – Finland
phone: +358 40 196 0142
heidi.lehtomaki@nohau.fi

Klaus Ahrensbach – Denmark
Phone: +45 3116 1019
ka@nohau.dk

Overview:

A three-days training that takes full advantage of C++, where we use the latest standard of C++ – aka “Modern C++” – and write tests as a natural ingredient of the software development process. By that we design the code with testability in mind.

Beside polymorphism the concept of templates enables you to design and implement generic true re-usable code. The C++ standard library provides a lot of useful functionality without having to “redevelop the wheel”. The latest C++ standard – a.k.a. C++20, and its predecessors C++11, C++14, and C++17 extend the core language and, not least, the standard library. The rvalue references, variadic templates, and lambda functions, to mention some essential core language extensions, and features like multithreading, tuples, general purpose smart pointers, and regular expressions, to bring up some extensions of the standard library.

Since the work with the upcoming revision of the standard, C++23, is defined, the training will provide an overview of C++23.

Goal/Benefits:

This training picks up where a basic C++-training would end. The main pervasive theme is memory management.

Furthermore, we will explore many issues and features in C++ like:

  • Apply unit testing as natural part of the software development process, and – when necessary to break dependencies – also apply mocking
  • Comprehend when polymorphism or templates shall be used in connection with generic solutions
  • Understand the necessity of in-depth memory management
  • Get an overall overview of the C++ standard
  • Comprehend the minimal effort required to write exception-safe code

The major objective of this class is that you shall be able to use C++ in a “correct way”.

Audience/Participants:

This training is aimed experienced C++-programmers who want to want to deepen the knowledge in C++.

Previous Knowledge:

The course requires basic skill, at least 3 years’ experience, in C++ programming. In line with the courses “C++ Level 1 – An Odyssey of C++: Core Language” as well as “C++ Level 2 – An Odyssey of C++: Standard Library”.

Practical Exercises:

During the training you will practice the presented topics in a set of exercises.
We will write unit tests as a natural part of each exercise.
We will use the open and free integrated development environment from Eclipse.

Modules:

A. Introduction

  •  Keywords Improving the Quality
    •  Type Deduction with auto
  •  Uniform Initialization
  •  One-method Interfaces – Lambdas
  •  Range-based Loops
  •  Scoped enums
  •  Memory Management
      •  nullptr
      • Placement new

     

B. Modern Standard Library

  •  R-value References and the Associated Move Support
    •  Impact on Container Components
  •  General Purpose Smart Pointers
  •  Multithreading
    • Parameter passing
  •  Unordered Associative Containers

C. Memory Management

  •  Avoiding Raw Pointers
    •  Never use new and delete
  •  Smart Pointers
  •  Allocators
  •  C++ Memory Model
    •  Atomic Types

Önskar du mer information?

Behöver du en offert, information eller råd. Kontakta oss!