All courses

Course

Learn C++

Zero-cost abstractions, full control. 9 units that take you from your first program to the language's advanced features.

Units
9
Topics
42
Questions
215
Challenges
24
1

Unit 1

Getting started

Output, types and operators

  1. Hello, C++
  2. Types and initialisation
  3. Constants
  4. Arithmetic operators
  5. Reading input
  6. Unit quiz and coding challenge
2

Unit 2

Control flow

Conditions and loops

  1. if statements
  2. switch
  3. Loops
  4. Unit quiz and coding challenge
3

Unit 3

Functions

Overloads, references and lambdas

  1. Functions
  2. Overloading
  3. Default arguments
  4. References
  5. Lambdas
  6. Unit quiz and coding challenge
4

Unit 4

Strings and containers

std::string, vector, map and set

  1. std::string
  2. std::vector
  3. std::array
  4. Maps
  5. Sets
  6. Unit quiz and coding challenge
5

Unit 5

Classes

Classes, lifetimes and operators

  1. Classes
  2. Destructors
  3. RAII
  4. Operator overloading
  5. Unit quiz and coding challenge
6

Unit 6

Inheritance and polymorphism

Virtual functions and abstract classes

  1. Virtual functions
  2. Abstract classes
  3. Unit quiz and coding challenge
7

Unit 7

Memory

new/delete, smart pointers and move semantics

  1. Pointers
  2. Heap allocation
  3. unique_ptr
  4. shared_ptr
  5. Move semantics
  6. Unit quiz and coding challenge
8

Unit 8

Templates and the STL

Generic code, algorithms and ranges

  1. Templates
  2. Concepts
  3. Iterators
  4. Algorithms
  5. Ranges
  6. Unit quiz and coding challenge
9

Unit 9

Modern C++

Exceptions, vocabulary types and concurrency

  1. Exceptions
  2. std::optional
  3. std::variant
  4. Structured bindings
  5. Threads
  6. Avoiding data races
  7. Separate compilation
  8. Build systems
  9. Unit quiz and coding challenge

Finale

Course exam

100 items from the whole course: 50 questions with choices, 35 typed answers and 15 coding challenges that mix topics.