Сложный вопрос, чтобы ответить окончательно. Стандарт C ++ гласит:
Текст программы хранится в единицах, называемых исходными файлами в этом международном стандарте. Исходный файл
вместе со всеми заголовками (17.4.1.2) и включенными исходными файлами (16.2) через
директива предварительной обработки #include, за исключением строк исходного кода, пропущенных любым из
условное включение (16.1)
директивы предварительной обработки, называется переводной единицей. [Примечание: C ++
Программа не обязательно должна быть переведена на
в то же время. ]
Таким образом, для большинства целей и задач единица перевода - это отдельный исходный файл C ++ и заголовок или другие файлы, которые он включает с помощью механизма препроцессора #include.
По другим вопросам:
2) Когда я должен рассмотреть возможность его использования
при программировании на C ++
Вы не можете не учитывать это - единицы перевода являются основой программы на C ++.
3) Если это относится только к C ++ или
может использоваться с другим программированием
языки
Другие языки имеют сходные понятия, но их семантика будет немного отличаться. Например, большинство других языков не используют препроцессор.