The C++ Standard Library
What every professional C++ programmer should know about the C++ standard library.
With the current C++23 standard, C++ has many libraries to offer. My book's key idea is to give you concise the necessary information for all C++ standard libraries.
The book is an improved version of my German book C++ Standardbibliothek published by O'Reilly.
About
About the Book
"The C++ Standard Library" provides a detailed overview of the C++ Standard Library, including C++23.
The Goal
The C++ Standard Library aims to provide a concise reference of the C++ standard library in about 350 pages. This book assumes that you are familiar with C++. If so, you will get the most benefit from this book. If C++ is new to you, you should start with a textbook about core C++. Once you have mastered a textbook about the core language, you can make your next big step by reading my book.
This book also has more than 150 running code examples for the code snippets I present. Therefore, you can combine theory with practice and get the most out of it.
Many Thanks
In particular, I thank the English proofreaders of my book: Mahesh Attarde, Rick Audet, Pete Barrow, Michael Ben-David, Dave Burns, Alvaro Fernandez, Juliette Grimm, Marius Grimm, George Haake, Nicola Jaud-Stoll, Clare Macrae, Arne Mertz, Ian Reeve, Jason Turner, Bart Vandewoestyne, Ivan Vergiliev, and Andrzej Warzynski. They translated my Swabian English into English. Without their work, the book wouldn't have been possible.
Packages
Pick Your Package
All packages include the ebook in the following formats: PDF, EPUB, and Web
The Book
Minimum price
Suggested price$24.00$20.00
The C++ Standard Library Team Edition: Five Copies
Minimum price
Suggested price$72.00Get five copies to the price of three. This package includes all code examples.
$60.00
Author
About the Author
Rainer Grimm
I've worked as a software architect, team lead, and instructor since 1999. In 2002, I created a further education round at my company. I have given training courses since 2002. My first tutorials were about proprietary management software, but soon after, I began teaching Python and C++. In my spare time, I like to write articles about C++, Python, and Haskell. I also like to speak at conferences. I publish weekly on my English blog https://www.modernescpp.com.
Since 2016, I have been an independent instructor giving seminars about modern C++ and Python. I have published several books in various languages about modern C++ and in particular, concurrency. Due to my profession, I always search for the best way to teach modern C++.
My books "C++ 11 für Programmierer ", "C++" and "C++ Standardbibliothek kurz & gut" for the "kurz & gut" series were published by Pearson and O'Reilly. They are available in German, English, Korean, and Persian. In summer 2018 I published a new book on Leanpub: "Concurrency with Modern C++". This book is also available in German: "Modernes C++: Concurrency meistern".
Translations
Translations
Languages
Contents
Table of Contents
Reader Testimonials
- English Edition
- German Edition
Introduction
- Purpose of this Book
- Index
- Conventions
- Source Examples
- Source Code
- Value versus Object
- Acknowledgments
- Further Information
- Cippi
- About Me
1.The Standard Library
- The History
- Overview
- Use of Libraries
2.Utilities
- Useful Functions
- Adaptors for Functions
- Pairs
- Tuples
- Reference Wrappers
- Smart Pointers
- Type Traits
- Time Library
std::any,std::optional, andstd::variantstd::expected
3.Interface of All Containers
- Create and delete
- Size
- Access
- Assign and Swap
- Compare
- Erasure
4.Sequence Containers
- Arrays
- Vectors
- Deques
- Lists
- Forward Lists
5.Associative Containers
- Overview
- Ordered Associative Containers
- Unordered Associative Containers
6.Container Adaptors
- Linear Containers
- Associative Containers
7.Views
- Contiguous Access
- Multidimensional Access
8.Iterators
- Categories
- Iterator Creation
- Useful Functions
- Adaptors
9.Callable Units
- Functions
- Function Objects
- Lambda Functions
10.Algorithms
- Conventions
- Iterators are the Glue
- Sequential, Parallel, or Parallel Execution with Vectorisation
- for_each
- Non-Modifying Algorithms
- Modifying Algorithms
- Partition
- Sort
- Binary Search
- Merge Operations
- Heaps
- Min and Max
- Permutations
- Numeric
- Unitialized Memory
11.Ranges
- Range
- View
- Range Adaptors
- Direct on the Containers
- Function Composition
- Lazy Evaluation
stdAlgorithms versusstd::rangesAlgorithms
12.Numeric
- Random Numbers
- Numeric Functions Inherited from C
- Mathematical Constants
13.Strings
- Create and Delete
- Conversion Between C++ and C Strings
- Size versus Capacity
- Comparison
- String Concatenation
- Element Access
- Input and Output
- Search
- Check for a substring
- Modifying Operations
- Numeric Conversions
14.String Views
- Create and Initialise
- Non-modifying operations
- Modifying operations
15.Regular Expressions
- Character Types
- Regular Expression Objects
- The Search Result match_results
- Match
- Search
- Replace
- Format
- Repeated Search
16.Input and Output Streams
- Hierarchy
- Input and Output Functions
- Streams
- User-defined Data Types
17.Formatting Library
- Formatting Functions
- Syntax
- Format specification
- User-defined formatter
18.Filesystem
- Classes
- Non-member functions
- File types
19.Multithreading
- Memory Model
- Atomic Data Types
- Threads
- Stop Token
- Shared Variables
- Thread Local Data
- Condition Variables
- Semaphores
- Coordination Types
- Tasks
20.Coroutines
- Awaitables
- An Infinite Data Stream with
co_yield
Index
Get the free sample chapters
Click the buttons to get the free sample in PDF or EPUB, or read the sample online here
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them
Write and Publish on Leanpub
You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!
Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.
Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.