This page describes several concepts that will be frequently used in subsequent pages. You don't need to learn all of them just yet -- leave this for when you encounter them in other articles.


A program that takes textual representation of code and produces a program file that contains machine instructions for a particular processor.

Undefined behavior

Certain rules of C++ may be violated without the compiler noticing. Programs, where these rules are violated are said to have undefined behavior, i.e. even if the program appears to work, there are no guarantees on what the program might do.

Read more here
As if rule

The "as if" rule says that the compiler may reorder or even rewrite the instructions of a program so long as the resulting program still behaves as if it was exactly as written.

Read more here
One definition rule