Как раскрывается _T("строка")
От: Malokhatko  
Дата: 19.10.04 15:33
Оценка:
Решил посмотреть как же все таки разворачивается макрос _T или _TEXT (это только у Microsoft?).
Разворачивается макрос просто -- в L"строка". Что такое L? я так и не понял, предположения:

1. Макрос (не нашел онного, да и скобок нет если бы строка выступала параметром)?
2. "Magic word" (который раскрывается препроцессором) аля Microsoft specific?
3. или вовсе не "Magic word" а фишка стандарта?

В общем что это?

Сенкс!

20.10.04 19:37: Оставлено модератором в 'C/C++' — Павел Кузнецов
Re: Как раскрывается _T("строка")
От: Chipset2k Россия http://merlinko.com
Дата: 19.10.04 15:39
Оценка:
Здравствуйте, Malokhatko, Вы писали:


M> Решил посмотреть как же все таки разворачивается макрос _T или _TEXT (это только у Microsoft?).

M>Разворачивается макрос просто -- в L"строка". Что такое L? я так и не понял, предположения:

M>1. Макрос (не нашел онного, да и скобок нет если бы строка выступала параметром)?

M>2. "Magic word" (который раскрывается препроцессором) аля Microsoft specific?
M>3. или вовсе не "Magic word" а фишка стандарта?

M>В общем что это?


M>Сенкс!

microsoft c specific.
Для универсальной работы с Unicode строками(т.е. переносимости)
L — фигня показывающая что это Unicode строка.
AFAIk
... << RSDN@Home 1.1.4 beta 3 rev. 206 писалось под звуки LUBE — After War>>
"Всё что не убивает нас, делает нас сильнее..."
Re: Как раскрывается _T("строка")
От: Vamp Россия  
Дата: 19.10.04 15:40
Оценка:
M>Разворачивается макрос просто -- в L"строка". Что такое L? я так и не понял, предположения:
Это стандартный (в смысле, описанный в стандарте) способ записи "широких" строковых литералов. В данном случае — Unicode.
Да здравствует мыло душистое и веревка пушистая.
Re: Как раскрывается _T("строка")
От: NKZ  
Дата: 19.10.04 15:42
Оценка: 2 (1)
Здравствуйте, Malokhatko, Вы писали:


M> Решил посмотреть как же все таки разворачивается макрос _T или _TEXT (это только у Microsoft?).


На самом деле:
#ifdef  _UNICODE
#define __T(x)      L ## x
#else   /* ndef _UNICODE */
#define __T(x)      x


А L говорит о том что строка будет представлена как Unicodе строка.
... << RSDN@Home 1.1.4 beta 3 rev. 0>>
Re[2]: Как раскрывается _T("строка")
От: Malokhatko  
Дата: 19.10.04 16:21
Оценка:
Здравствуйте, NKZ, Вы писали:

KZ>А L говорит о том что строка будет представлена как Unicodе строка.


В принципе так и думал, просто до этого всегда думал что это некий макрос который переквашивает строку, задумался "КАК?", а никак.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.