A translation unit is any preprocessed source file.
A translation unit is the basic unit of compilation in C++. This unit is made up of the contents of a single source file after it passes through preprocessing. It contains included any header files without blocks that are ignored using conditional preprocessing statements like ifdef, ifndef, etc.
A single translation unit can be compiled into an object file, library, or executable program.