What is a “translation unit” in C++?

From here: (wayback machine link)

According to standard C++ (wayback machine link) :
A translation unit is the basic unit
of compilation in C++. It consists of
the contents of a single source file,
plus the contents of any header files
directly or indirectly included by it,
minus those lines that were ignored
using conditional preprocessing
statements.

A single translation unit can be
compiled into an object file, library,
or executable program.

The notion of a translation unit is
most often mentioned in the contexts
of the One Definition Rule, and
templates.

Leave a Comment