1._T("Hello")是一个宏,作用是让程序支持Unicode编码。
2.windows使用两种字符集ANSI和UNICODE,前者使用的单字节格式,后者使用双字节格式。
3.简单一点讲:
_T("hello world")表示:
在ansi的环境下,它是ansi的;
在unicode下,那么它将自动解释为双字节字符串,既unicode编码。
好处:不管是ansi环境,还是unicode环境,都适用。
4. 相当于:
#ifdef _UNICODE
#define _T("ABC") L"ABC"  //每个字符16位
#else
#define _T("ABC") "ABC"   //每个字符8位
#endif

5.举例说明:
(1)#define Conn(x,y) x##y     //表示:x连接y;

int n = Conn(123,456);      // 结果就是n=123456;
char* str = Conn("asdf", "adf")    //结果就是 str = "asdfadf";

(2)#define ToChar(x) #@x   //表示:给x加上'',结果返回是一个const char

char a = ToChar(1);   //结果就是a='1';
越界试验char a = ToChar(123);     //结果是a='3';
如果你的参数超过四个字符,编译器就报错!error C2015: too many characters in constant 
   :P

(3)#define ToString(x) #x      //表示:给x加上""

char* str = ToString(123132);       //就成了str="123132";