C++中_T的用途
1??? C++語(yǔ)言中“_T”是什么意思?
Visual C++里邊定義字符串的時(shí)候,用_T來(lái)保證兼容性,VC支持ascii和unicode兩種字符類(lèi)型,用_T可以保證從ascii編碼類(lèi)型轉(zhuǎn)換到unicode編碼類(lèi)型的時(shí)候,程序不需要修改。
如果將來(lái)你不打算升級(jí)到unicode,那么也不需要_T,
---------------------------------------------------------
_t("hello world")
在ansi的環(huán)境下,它是ansi的,如果在unicode下,那么它將自動(dòng)解釋為雙字節(jié)字符串,既unicode編碼。
這樣做的好處,不管是ansi環(huán)境,還是unicode環(huán)境,都適用。
2?? 請(qǐng)問(wèn)在vc++中的字符串_T("ABC")和一個(gè)普通的字符串“ABC”有什么區(qū)別。
_T("ABC")
表示如果定義了unicode
它表示 L"ABC",每個(gè)字符為16位,寬字符字符串
---------------------------------------------------------
if not UNICODE
它就是ascii的"ABC",每個(gè)字符為8位
"ABC"就是指ascii字符串"ABC"
----------------------------------------------------------
相當(dāng)于
#ifdef _UNICODE
#define _T("ABC") L"ABC"
#else
#define _T("ABC") "ABC"
#endif
----------------------------------------------------------
_T("ABC")中的一個(gè)字符和漢字一樣,占兩個(gè)字節(jié),而在"ABC"中,英文字符占一個(gè)字節(jié),漢字占兩個(gè)字節(jié)
轉(zhuǎn)載于:https://www.cnblogs.com/xingkai/p/6517816.html
總結(jié)
- 上一篇: ssh设置别名
- 下一篇: winform 自适应屏幕分辨率具体操作