C++ – Safe and Reliable Code (CPP6)

Programming, C, C++

Since C++20 the standard library adds many tools that help build safer, more reliable software. This course continues a tradition from smart pointers (C++11) to upcoming contracts (C++26), and covers MISRA and CERT.

The course focuses on common C and C++ hazards: out-of-bounds access, use-after-free, and uninitialized reads, plus risky standard functions and numeric traps. It's designed for C++20/C++23/C++26 toolchains and can target older versions.

THIS TRAINING COURSE WILL HELP YOU:

  • Understand principles for writing safer C++ code.
  • Understand undefined behavior and related concepts.
  • Gain a basic familiarity with security standards.

WHO SHOULD ATTEND?

  • Experienced C++ developers who want to write safer code.
  • C++ developers interested in security and reliability.
  • Other developers who want to learn C++ strengths and risks.

COURSE LOCATION AND AVAILABLE DATES



Public courses are usually delivered in Czech, but this course is also available in English. We can arrange private training for your team online, at your premises or in our classrooms, and tailor the content to your needs.

For groups of around 4 or more participants, private training can already be comparable in price to booking individual places on a public course. Send us your requirements and we’ll recommend the best format and provide an exact quote.

Request training in English

Course content:

Hide details
  • Undefined behavior in C++
  • RAII and safe resource management
  • Smart pointers and object ownership
  • Exception safety and the strong guarantee
  • Type safety and modern language features
  • Safe use of the standard library
  • Parallel code without data races
  • Sanitizers and static analysis
  • Security standards (CERT C++, MISRA C++)
  • Designing robust architectures
Prerequisites:
Good knowledge of C++ programming.
Recommended previous course:
C++ – Practical Programming for Advanced Developers (CPP2)
Schedule:
3 days (9:00-17:00)

Training and learning environment