#Define для char или wchar_t, используемый для переноса старых приложений Windows

TCHAR и соответствующие определения препроцессора используются в двух местах:

  1. Перенос старых приложений Windows на современные API UTF-16.
  2. Описание API, доступных как в ANSI, так и в UTF-16.

Если ничего из вышеперечисленного вам не подходит, вам действительно не следует его использовать:
актуален ли TCHAR?

#ifdef _UNICODE
    #define TCHAR wchar_t
    // many others
#else
    #define TCHAR char
    // many others
#endif