Важке питання остаточно відповісти. Стандарт C ++ визначає:
Текст програми зберігається в одиницях, що називаються вихідними файлами цього Міжнародного стандарту. Вихідний файл разом із усіма заголовками (17.4.1.2) та вихідними файлами (16.2) через директиву про попередню обробку #include, за вирахуванням будь-яких джерельних рядків, пропущених будь-якою з умов умовного включення (16.1) щодо попередньої обробки, називається одиницею перекладу. [Примітка: програму C ++ не потрібно переводити одночасно. ]
Отже, для більшості намірів і цілей перекладацький блок - це єдиний вихідний файл C ++, а заголовок або інші файли, які він включає через механізм препроцесора #include.
Щодо інших ваших питань:
2) Коли я повинен розглянути можливість його використання при програмуванні на C ++
Ви не можете це врахувати - одиниці перекладу є основою програми C ++.
3) Якщо він пов'язаний лише з C ++, або його можна використовувати з іншими мовами програмування
Інші мови мають подібні поняття, але їх семантика буде дещо різною. Більшість інших мов, наприклад, не використовують препроцесор.