Во-вторых, предполагая, что вы имели в виду *nix системы:
Нет, потому что в *nux отсутствует противопоставление ANSI/Unicode API.
Потому что под виндой _T() не "подставляет вместо ansi строчки мультибайтную строчку" -- опредение его выглядит примерно так
#ifdef _UNICODE
#define T(x) L##x
#else
#define _T(x) x
#endif
иными словами, в зависимости от того, какой набор API используется,
получается либо narrow string literal, либо wide string literal.
А ты хочеш поиметь в одном файле текстовые константы с неодинаковой кодировкой? И как их читать потом будеш? Выдели константы с одной кодировкой в отдельные файлы, потом проинклудь их всех вево делов...
хмм. и как это сделать?
под масдаем достаточно было написать _T(строка), и вместо строки подставлялось ее мультибайтовое или ucs2 представлени, в зависимости от настроек ide. а сейчас по линукс не придумал ничего умнее чем читать из файла. Но по задаче мне не нужно выносить некоторые строки из кода.