Professional C++: Advanced Techniques
300 pages
English
PDF
4.5

Professional C++: Advanced Techniques

Professional C++: Advanced Techniques

Author:

Year:

Summary:

This book is not another introduction to C++ syntax. It is intended for developers who already write confidently in C++ and want to reach a new level of mastery. "Professional C++: Advanced Techniques" is a deep dive into complex topics that distinguish a Junior developer from a Senior engineer.



The author, Alexey Sokolov, has worked with C++ in high-load projects for over 15 years and shares real-world cases from the industry. You will learn how to design flexible and scalable systems while avoiding typical mistakes that even experienced specialists make.



What you will learn from the book:

  • Multithreading and Asynchrony: from std::thread to coroutines, working with mutexes, lock-free data structures, and atomic operations. How to avoid deadlocks and race conditions.
  • Design Patterns: creational, structural, and behavioral patterns applied to C++ (Factory, Observer, Strategy, RAII, Pimpl).
  • Metaprogramming: template magic, SFINAE, constexpr if, type traits. How to write code that runs at compile time.
  • Performance Optimization: profiling, cache optimization, reducing allocations, move semantics, and copy elision.
  • Advanced STL: non-obvious container capabilities, custom allocators, iterators, and algorithms.
  • Memory Management: smart pointers, custom deleters, memory pools, working with non-standard allocators.


Who this book is for:

  • C++ developers who want to move from Middle to Senior level.
  • Engineers working on high-load systems (gaming, finance, telecom).
  • Anyone who wants to write not just working code, but efficient and maintainable code.


At the end of each chapter, you will find practical exercises and self-assessment questions. Example code is available in a GitHub repository. The book is written in a lively style, without excessive academicism — only what will truly be useful in practice.



Master advanced C++ techniques and become the developer whose opinion is valued.

Recommendations