Computer ScienceIntermediate

Start from never having compiled anything and finish able to read, write and reason about C++: memory, lifetime, ownership, templates and the standard library.

Contents

C++ from the first compile to code you can ship. What a compiler does, the types you must name, memory, sequences, your own types, lifetime and RAII, owning things safely, building and testing a real project, templates, the standard library, errors, concurrency, measuring performance, and the habits that keep it readable.

1

Your first program

C++ is translated in full by a separate program, the compiler, before a single line of it runs. This section is about what that means in practice: the tools between your file and a running program, the five lines every program starts with, how to read the complaints the compiler makes, how to get something from the person at the keyboard into your program, and how a named block of instructions takes values in and hands an answer back.

0/11

Values and types

Opens once you finish Your first program, including its quiz.

locked

Making decisions

Opens once you finish Values and types, including its quiz.

locked

Repeating work

Opens once you finish Making decisions, including its quiz.

locked

Functions

Opens once you finish Repeating work, including its quiz.

locked

How C++ sees memory

Opens once you finish Functions, including its quiz.

locked

Sequences

Opens once you finish How C++ sees memory, including its quiz.

locked

Your own types

Opens once you finish Sequences, including its quiz.

locked

Lifetime and RAII

Opens once you finish Your own types, including its quiz.

locked

Owning things safely

Opens once you finish Lifetime and RAII, including its quiz.

locked

Building, linking and the tools around the compiler

Opens once you finish Owning things safely, including its quiz.

locked

Testing, and trusting your own code

Opens once you finish Building, linking and the tools around the compiler, including its quiz.

locked

Writing code once for many types

Opens once you finish Testing, and trusting your own code, including its quiz.

locked

The standard containers

Opens once you finish Writing code once for many types, including its quiz.

locked

The standard algorithms

Opens once you finish The standard containers, including its quiz.

locked

When things go wrong

Opens once you finish The standard algorithms, including its quiz.

locked

More than one thing at a time

Opens once you finish When things go wrong, including its quiz.

locked

Making it fast, and knowing that you did

Opens once you finish More than one thing at a time, including its quiz.

locked

Writing C++ other people can read

Opens once you finish Making it fast, and knowing that you did, including its quiz.

locked

Master C++ unit exam

Opens once every section is finished and every quiz is passed.