Skip to content
C++
HomeBooks

C++ Books

A curated reading list from beginner primers to expert references. Every book here earns its place — the emphasis is on depth, accuracy, and modern relevance.

23 books · 8 essential picks

Beginner

No prior C++ knowledge required

Programming: Principles and Practice Using C++

Bjarne Stroustrup · 2024

The textbook from C++'s creator. Starts from scratch, teaches good habits early, and covers modern C++20. Best first book if you're serious about the language.

fundamentals
C++20
Stroustrup
Beginning C++23: From Beginner to Pro

Ivor Horton, Peter Van Weert · 2023

Step-by-step introduction through C++23 features. Covers modern syntax, the STL, and the idioms beginners need before moving to intermediate material.

C++23
fundamentals
Accelerated C++

Andrew Koenig, Barbara E. Moo · 2000

Still one of the best introductions. Teaches C++ by using the standard library first — not raw pointers — leading to correct habits from chapter one.

fundamentals
STL
classic
C++ Primer Plus

Stephen Prata · 2011

Comprehensive beginner reference. Covers the full language breadth with many exercises. Slower-paced than Accelerated C++ but very thorough.

fundamentals
comprehensive

Intermediate

Comfortable with the basics, building real programs

Professional C++

Marc Gregoire · 2024

1,400+ page deep dive into professional C++ practices. The 2024 edition covers C++23. Goes from OOP to templates to concurrency to design patterns.

C++23
best-practices
STL
comprehensive
Modern C++ Programming Cookbook

Marius Bancila · 2020

100+ focused recipes covering C++17 and C++20. Practical patterns for everyday problems: string handling, concurrency, templates, ranges.

C++20
recipes
practical
Expert C++

Vardan Grigoryan, Shunguang Wu · 2020

Bridges the gap between knowing the language and writing professional-quality software. Covers OOP design, templates, concurrency, and C++20 features.

C++20
design
best-practices
Exploring C++20

Ray Lischner · 2020

A project-based introduction to modern C++20. Structured as incremental puzzles, building up to real programs. Strong on modern idioms.

C++20
practical
Modern CMake for C++

Rafal Swidzinski · 2022

The modern approach to CMake: targets, properties, and transitive dependencies instead of global variables. Covers testing, packaging, and CI integration.

cmake
build-systems
tooling
Data Structures and Algorithms with the C++ STL

John Farrier · 2024

Teaches algorithms and data structures using the modern C++ STL. Covers complexity, iterator patterns, and when to reach for each standard container.

STL
algorithms
data-structures
C++20

Advanced

Knows modern C++, deepening mastery

Effective Modern C++

Scott Meyers · 2014

42 specific ways to improve your C++11/14 usage. Covers move semantics, perfect forwarding, lambda best practices, smart pointer rules, and concurrency. Still essential despite age.

C++11
C++14
best-practices
idioms
Meyers
C++ Software Design

Klaus Iglberger · 2022

Modern take on design patterns using value semantics and type erasure instead of inheritance. Covers std::variant, concepts, and the 'Type Erasure' idiom in depth.

design-patterns
value-semantics
architecture
Beautiful C++: 30 Core Guidelines for Writing Clean, Safe, and Fast Code

J. Guy Davidson, Kate Gregory · 2021

Thirty essays, each focused on one C++ Core Guideline. Shows not just the rule but the reasoning and the refactoring path. Excellent for code reviews.

core-guidelines
best-practices
safety
C++ Best Practices

Jason Turner · 2022

45 actionable rules with specific coding examples. Covers modern C++17/20 idioms, static analysis, build tooling, and correctness. Concise and opinionated.

best-practices
tooling
modern
C++23 Best Practices

Jason Turner · 2023

The C++23 companion to Turner's earlier Best Practices. Covers C++23-specific idioms and library additions with the same practical, direct style.

C++23
best-practices
Template Metaprogramming with C++

Marius Bancila · 2022

The most complete modern treatment of TMP. Covers variadic templates, fold expressions, SFINAE, concepts, and policy-based design. C++20 aware.

templates
metaprogramming
concepts
C++20
C++ Lambda Story

Bartlomiej Filipek · 2021

Everything about C++ lambdas from C++11 to C++20: capture modes, generic lambdas, recursive lambdas, IIFE, and performance implications.

lambda
closures
modern
Practical C++ Design: From Programming to Architecture

Adam B. Singer · 2017

Walks through designing a complete application from scratch, demonstrating design patterns in real context — not toy examples.

design-patterns
architecture
OOP

Expert / Reference

Complete references and cornerstone texts

The C++ Programming Language (4th Edition)

Bjarne Stroustrup · 2013

The authoritative reference from the language's creator. 1,300 pages covering the full C++11 standard. Dense but comprehensive — the reference book to own.

C++11
reference
authoritative
Stroustrup
The C++ Standard Library (4th Edition, includes C++23)

Rainer Grimm · 2024

Complete reference for the standard library through C++23. Covers all containers, algorithms, ranges, concurrency, format, expected, and C++23 additions.

C++23
STL
reference
The C++ Standard Library: A Tutorial and Reference (2nd Ed)

Nicolai M. Josuttis · 2012

Deep dive into every corner of the C++ standard library. The definitive STL reference — covers the why behind design decisions, not just the API.

STL
reference
comprehensive
Exceptional C++

Herb Sutter · 1999

47 engineering puzzles covering exception safety, RAII, the PIMPL idiom, and generic programming. Still the best source on writing truly exception-safe C++.

exceptions
RAII
idioms
Sutter
classic
C++ Coding Standards: 101 Rules, Guidelines, and Best Practices

Herb Sutter, Andrei Alexandrescu · 2004

101 rules from two C++ legends. Covers naming, design, coding patterns, and common pitfalls. The rules have aged well and remain relevant in modern codebases.

best-practices
standards
Sutter

Note: We reference books for attribution and learning context only. No copyrighted content is reproduced. Links go to publisher or retailer pages. The star () marks books considered essential for serious C++ developers.