Jestem w procesie uczenia się C++ i natknąłem się na artykuł na MSDN tutaj:Co Microsoft używa jako typ danych dla ciągów Unicode?
http://msdn.microsoft.com/en-us/magazine/dd861344.aspx
W pierwszym przykładzie kodu jeden wiersz kodu, który moje pytanie dotyczy jest następujący:
VERIFY(SetWindowText(L"Direct2D Sample"));
W szczególności ten prefiks L. Miałem trochę czytać i popraw mnie, jeśli się mylę :-), ale jest to dozwolone dla ciągów unicode, tzn. Do przygotowania długiego zestawu znaków. Teraz w czasie mojego przeczytać na to natknąłem innym artykule na temat technik Adavnced smyczkowy C tutaj http://www.flipcode.com/archives/Advanced_String_Techniques_in_C-Part_I_Unicode.shtml
Mówi istnieje kilka opcji, w tym włączenia nagłówku:
#define UNICODE
LUB
#define _UNICODE
w C, jeszcze raz wskaż, jeśli się mylę, doceń swoją opinię. Dalsze pokazuje typ danych odpowiedni dla tych Unicode ciągi są:
wchar_t
To rzuca w mix makro i rodzaj hybrydowym typu danych, makra są:
_TEXT(t)
który po prostu prefiksów ciąg z typ danych L i hybrydowy jako
TCHAR
Wskazuje, że pozwoli na kodowanie Unicode, jeśli jest tam nagłówek, a ASCII, jeśli nie. Teraz moje pytanie brzmi, czy raczej o jakimś potwierdzeniu, które chciałbym potwierdzić, czy Microsoft użyłby tego typu danych TCHAR, który jest bardziej elastyczny lub czy istnieje jakakolwiek korzyść, aby zobowiązać się do korzystania z wchar_t.
Również kiedy mówię, że Microsoft używa tego, a konkretniej do przykładu w bibliotekach ATL i WTL, czy ktokolwiek z was ma preferencje lub ma jakieś porady dotyczące tego?
Cheers,
Andrew
Dzięki za opinie wszystkich! Doceniam to! :-) –