Learn C++ STL
- Lessons
- 42
- Modules out
- 5 of 19
- Parts
- 6
Who can read what
- Free · 28
- Anyone can read it, signed in or not.
- Free with an account · 5
- Free to read once you have an account.
- Pro · 9
- Included with this track or with Learn Pro.
Learn Pro
Every track, one subscription
Every track's Pro lessons and projects
৳6,999 a year
By card: $9 a month or $59 a year.
What is inside
19 modules in 6 parts, 5 of them out so far. Lessons with no mark are free to read.
Part Zero
What the STL is
- 1The STL in One Picture: Four Kinds of ThingReading
- 2Why It Matters: Fewer Lines, Fewer Bugs, Known CostsReading
- 3The Containers at a Glance: What Each One Is Good AtReading
- 4Iterators and Algorithms: How the Pieces ConnectReading
- 5How to Read cppreference, and What O(log n) PromisesReading
- 6Module Test: What the STL IsModule test
- 1Hello, C++: The Same Program in Both LanguagesReading
- 2Fast Input and Output: Why Contest Code Starts the Same WayReading
- 3References: A Second Name for the Same BoxReading
- 4auto and the Range-for: Less Typing, Same MeaningReading
- 5Templates, the Idea: One Function, Every TypeReading
- 6pair and tuple: Two or More Things With One NameReading
- 7std::, Namespaces and the Headers You Will Actually IncludeReading
- 8Problems: Just-Enough C++Problems
- 9Module Test: Just-Enough C++Module test
Part One
Sequence containers
- 1vector: Many Boxes That Grow by ThemselvesReading
- 2Every vector Operation, One by One, With Its CostReading
- 3Full Programs: From Five Lines to a Real ToolReading
- 4When to Use vector and When Not ToReading
- 5Under the Hood: How a vector Grows, and What That BreaksProReading
- 6CP and Interview Pack: vector Patterns, Questions and the Bug GalleryProReading
- 7Problems: vectorProblems
- 8Cheat Sheet: vector on One PageProReading
- 9Module Test: vectorModule test
- 1string: A Row of Characters That Knows Its Own LengthReading
- 2Every string Operation, One by One, With Its CostReading
- 3Full Programs: From One Word to a Text ReportReading
- 4When to Use string and When Not ToReading
- 5Under the Hood: The Small String Buffer, Growth and the Cost of +ProReading
- 6CP and Interview Pack: string Patterns, Questions and the Bug GalleryProReading
- 7Problems: stringProblems
- 8Cheat Sheet: string on One PageProReading
- 9Module Test: stringModule test
- 1array and deque: A Size You Fix, and a Line That Grows at Both EndsReading
- 2Every array and deque Operation, One by One, With Its CostFree with an accountReading
- 3Full Programs: From a Week of Readings to a Ticket LineFree with an accountReading
- 4When to Use array, deque or vector, and When Not ToFree with an accountReading
- 5Under the Hood: deque's Blocks and Map, and What a Push BreaksProReading
- 6CP and Interview Pack: array and deque Patterns, Questions and the Bug GalleryProReading
- 7Problems: array and dequeFree with an accountProblems
- 8Cheat Sheet: array and deque on One PageProReading
- 9Module Test: array and dequeFree with an accountModule test
- Module 5: list and forward_list: When Elements Move and Positions Must NotBeing written
Part Two
Adaptors
Being written
- 06stack and queue: Last In First Out, First In First Out
- 07priority_queue: The Biggest One Comes Out First
Part Three
Associative containers
Being written
- 08set and multiset: Sorted, Unique, Found in log n
- 09map and multimap: A Key Finds Its Value
- 10unordered_set and unordered_map: Hashing, Collisions and the Anti-Hash Test
Part Four
Iterators and algorithms
Being written
- 11Iterators: The Thing Between a Container and an Algorithm
- 12sort, Comparators and Lambdas: Tell the Algorithm What You Mean
- 13binary_search, lower_bound, upper_bound and equal_range
- 14The Algorithms You Will Use Weekly: accumulate to nth_element
- 15bitset and Bit Tricks: Sixty-Four Booleans in One Word
Part Five
The STL in the real world (Pro)
Being written
- 16The STL in Competitive Programming: Which Container for Which Problem
- 17Under the Hood: Memory, Cache, Allocators and the Guarantees
- 18Three Projects and the Interview Pack
Learn Pro
Every track, one subscription
Every track's Pro lessons and projects
৳6,999 a year
By card: $9 a month or $59 a year.
Certificates
How certificates work
A certificate is not issued for finishing the lessons. It is issued on a Skill Test.
Timed, in the browser
Questions are drawn at random from a large pool, and the clock runs from the first one.
Your code, hidden tests
Your code runs against tests you cannot see, and submissions are compared for similarity afterwards.
A score, not a tick
The score, 0 to 1000, is printed on the certificate with the band it falls in.
Not proctored, and it says so. Identity is the account and the name on the certificate. There is no webcam and no ID check, and the certificate and its verify page both state that.
Score bands
Score is 0 to 1000, across three sections: concepts, read and debug, build.
- Not yetRetake0–399
- FoundationRetake400–599
- WorkingCertificate issued600–749
- ProficientCertificate issued750–899
- AdvancedCertificate issued900–1000
For employers
Hiring someone?
Every certificate has a public page carrying the score, the three sections, the date and the test version. Ask for the link, not a screenshot.
- Name
- Track
- Learn C++ STL
- Score
- / 1000, with its band
- Sections
- Concepts · Read and debug · Build
- Date, version