Use these references to look up details after working through the lessons. The C++ standard is normative; cppreference is a practical reference, while guidelines and books provide design advice and broader explanations.
Books and the course’s primary text
| Resource | What it covers |
|---|---|
| Bjarne Stroustrup, A Tour of C++, Third Edition (2022) | The primary text behind this 19-lesson sequence; consult the chapter corresponding to the topic you are studying. |
| Bjarne Stroustrup, Programming: Principles and Practice Using C++, Third Edition (2024) | A longer, exercise-oriented introduction for readers who want more guided practice. |
| Nicolai M. Josuttis, The C++ Standard Library: A Tutorial and Reference, Second Edition | A detailed reference for standard-library facilities. |
Language and library reference
cppreference is a broad, continuously maintained reference. Its pages document language features, library APIs, and version availability; use compiler support tables when adopting newer standards.
| Resource | What it covers |
|---|---|
| Language reference | Declarations, types, classes, templates, exceptions, and concurrency language features. |
| Standard library overview | Headers and major library components. |
| Containers, iterators, and algorithms | Collections and the operations used with them. |
| Ranges and range views | Range-based operations and views. |
Strings, std::string_view, and regular expressions | Text, string views, and pattern matching. |
| Input/output, formatting, and filesystem | Input, output, formatting, and file-system facilities. |
| Date and time, type support and traits, and bit operations | Time, type information, and bit manipulation. |
Smart pointers, std::variant, std::optional, and std::any | Ownership and general-purpose value types. |
| Concurrency support and numeric facilities | Concurrency and numeric library facilities. |
Design guidance
| Resource | What it covers |
|---|---|
| C++ Core Guidelines | Practical recommendations for interfaces, resource management, error handling, and concurrency. They are guidance, not the language specification. |
| C++ Core Guidelines Support Library (GSL) | Supporting types used by some guideline examples. |
Standards and tools
| Resource | What it covers |
|---|---|
| WG21 C++ standards committee document archive | Proposals and working documents useful for understanding feature history; proposals are not necessarily part of a published standard. |
| Compiler Explorer | Try code with different compilers and inspect generated assembly. Successful compilation does not prove code is portable or well-defined. |
| C++ compiler support | Implementation support for language and library features across standard versions. |