Путешествие по C++
Обзор современного C++ от создателя языка
Краткое содержимое:
Введение
Книга «A Tour of C++» (в русском переводе — «Путешествие по C++») третьего издания, вышедшая в 2022 году, представляет собой уникальный обзор языка C++ от его создателя — Бьерна Страуструпа. Это не учебник для новичков и не справочник по всем тонкостям, а именно «тур» — быстрая, но содержательная экскурсия по ключевым возможностям современного C++ (стандарты C++11, C++14, C++17 и C++20). Книга объемом 320 страниц позволяет опытному программисту за короткое время получить целостное представление о языке, его философии и лучших практиках.
О чем книга
Страуструп последовательно проводит читателя от основ (типы, выражения, операторы) к более сложным темам: классам, шаблонам, лямбда-выражениям, умным указателям, параллелизму, файловой системе и регулярным выражениям. Особое внимание уделено нововведениям C++20: концептам (concepts), корутинам (coroutines), модулям (modules) и диапазонам (ranges). Каждая глава — это сжатый, но точный обзор, сопровождаемый примерами кода, которые иллюстрируют современный стиль программирования на C++.
Для кого эта книга
Книга рассчитана на программистов, которые уже знают хотя бы один язык программирования (например, Python, Java, C) и хотят быстро освоить C++ или обновить свои знания до последних стандартов. Она также полезна разработчикам на C++, которые переходят с устаревших стилей (C-style, ручное управление памятью) на современный C++ с RAII, умными указателями и алгоритмами STL.
Что узнает читатель
- Современный синтаксис и семантика: auto, decltype, range-for, инициализация списка, nullptr.
- Управление памятью: unique_ptr, shared_ptr, weak_ptr, move-семантика, семантика копирования.
- Шаблоны и обобщенное программирование: вариативные шаблоны, концепты (C++20), вывод типов.
- Функциональное программирование: лямбда-выражения, std::function, алгоритмы STL.
- Параллелизм и асинхронность: потоки, future/promise, корутины (C++20).
- Новые возможности C++20: модули, ranges, coroutines, concepts, calendar и time zone.
- Стандартная библиотека: контейнеры (vector, map, unordered_set), строки, потоки ввода/вывода, файловая система, регулярные выражения.
Сильные стороны
Главное достоинство книги — авторитет автора. Страуструп не просто описывает возможности языка, но объясняет, почему они были добавлены, какие проблемы решают и как их правильно использовать. Книга написана живым, доступным языком, без излишней академичности. Примеры кода короткие, но показательные. Третье издание полностью обновлено под C++20, что делает его актуальным на годы вперед. Несмотря на небольшой объем, книга охватывает 90% того, что нужно практикующему разработчику.
Кому рекомендуется
Книга обязательна к прочтению всем, кто хочет быстро войти в мир современного C++ или систематизировать уже имеющиеся знания. Она будет полезна как разработчикам игр, высоконагруженных систем, встраиваемых устройств, так и тем, кто пишет на Python и хочет понять, как работает «железо» под капотом. Если вы ищете одну книгу, которая даст вам ясную картину C++ без тонн лишних деталей — это она.
Рекомендаций
Веб-разработка на PHP: от основ до деплоя
Чистый код на Java: Практическое руководство по написанию читаемого и поддерживаемого кода
Robust Python: создание надежного кода на Python с помощью паттернов и практик
Создай свой сайт с базами данных на PHP и MySQL
Full-Stack React, TypeScript и Node
Fullstack TypeScript с NodeJS и React