Я нахожусь в процессе обучения C++ и наткнулся на статью на сайте MSDN здесь:Что Microsoft использует в качестве типа данных для строк Unicode?
http://msdn.microsoft.com/en-us/magazine/dd861344.aspx
В первом примере кода одной строки кода, который мой вопрос касается заключается в следующем:
VERIFY(SetWindowText(L"Direct2D Sample"));
Более конкретно, этот префикс L. Я немного прочитал и исправлю, если я ошибаюсь :-), но это нужно для строк unicode, т. Е. Для подготовки к длинному набору символов. Теперь в течение моего чтения на этом я наткнулся на другую статью на Adavnced Струнных методов в C здесь http://www.flipcode.com/archives/Advanced_String_Techniques_in_C-Part_I_Unicode.shtml
Он говорит, что есть несколько вариантов, в том числе включения в заголовке:
#define UNICODE
ИЛИ
#define _UNICODE
в C, снова укажите, если я ошибаюсь, оцените ваши отзывы. Далее, она показывает тип данных, подходящие для этого Юникода строки является:
wchar_t
Это бросает в смеси макро и вида гибридного типа данных, макро существо:
_TEXT(t)
который просто префиксы строки с л и гибридный тип данных,
TCHAR
что это указывает, позволит юникода, если заголовок есть и ASCII, если нет. Теперь мой вопрос, или более предположение, которое я хотел бы подтвердить, использовал бы Microsoft этот тип данных TCHAR, который является более гибким или есть какая-либо польза от использования wchar_t.
Также, когда я говорю, Microsoft использует это, более конкретно для exmaple в библиотеках ATL и WTL, есть ли у кого-либо из вас предпочтения или есть какие-то рекомендации относительно этого?
Приветствия,
Эндрю
Спасибо за отзывы каждого! Ценить это! :-) –