A Tour of C++
320 pages
English
PDF
4.5

A Tour of C++

A Tour of C++

Author:

Year:

Summary:

Introduction

The book "A Tour of C++" (in Russian translation — "Путешествие по C++") of the third edition, published in 2022, is a unique overview of the C++ language from its creator — Bjarne Stroustrup. This is not a textbook for beginners nor a reference on all the subtleties, but rather a "tour" — a quick yet informative excursion through the key features of modern C++ (standards C++11, C++14, C++17, and C++20). The book, 320 pages long, allows an experienced programmer to gain a holistic understanding of the language, its philosophy, and best practices in a short time.

What the book is about

Stroustrup consistently guides the reader from the basics (types, expressions, operators) to more complex topics: classes, templates, lambda expressions, smart pointers, concurrency, the file system, and regular expressions. Special attention is given to the innovations of C++20: concepts, coroutines, modules, and ranges. Each chapter is a concise but precise overview, accompanied by code examples that illustrate the modern style of programming in C++.

Who this book is for

The book is intended for programmers who already know at least one programming language (e.g., Python, Java, C) and want to quickly learn C++ or update their knowledge to the latest standards. It is also useful for C++ developers transitioning from outdated styles (C-style, manual memory management) to modern C++ with RAII, smart pointers, and STL algorithms.

What the reader will learn

  • Modern syntax and semantics: auto, decltype, range-for, list initialization, nullptr.
  • Memory management: unique_ptr, shared_ptr, weak_ptr, move semantics, copy semantics.
  • Templates and generic programming: variadic templates, concepts (C++20), type deduction.
  • Functional programming: lambda expressions, std::function, STL algorithms.
  • Concurrency and asynchrony: threads, future/promise, coroutines (C++20).
  • New features of C++20: modules, ranges, coroutines, concepts, calendar and time zone.
  • Standard library: containers (vector, map, unordered_set), strings, input/output streams, file system, regular expressions.

Strengths

The main advantage of the book is the author's authority. Stroustrup not only describes the language's features but explains why they were added, what problems they solve, and how to use them correctly. The book is written in a lively, accessible language, without excessive academicism. The code examples are short but illustrative. The third edition is fully updated for C++20, making it relevant for years to come. Despite its small volume, the book covers 90% of what a practicing developer needs.

Who it is recommended for

The book is a must-read for anyone who wants to quickly enter the world of modern C++ or systematize existing knowledge. It will be useful for developers of games, high-load systems, embedded devices, as well as those who write in Python and want to understand how the "hardware" works under the hood. If you are looking for one book that will give you a clear picture of C++ without tons of unnecessary details — this is it.

Recommendations