如果编写可能使用不同字符类型编译的代码,TCHAR
仍然是正确的类型,例如std::basic_stringstream<TCHAR>
或者现在有一些官方的C ++ / STL类型是首选的,wchar_t
取代WCHAR
,true
取代TRUE
和nullptr
取代NULL
?
我在谈论我正在使用像basic_string
这样的类的情况,使用TCHAR显式模板化。
答案 0 :(得分:7)
没有。 TCHAR允许您根据Microsoft的_UNICODE宏和使用Microsoft的各种其他“T”宏在char
和wchar_t
之间切换。这些都与标准C ++ API无关。
如果您正在维护使用TCHAR的旧C ++程序,那么您可以继续使用TCHAR。
为了编写新程序,我所看到的人们更喜欢完全避免使用遗留代码页,而是使用char
作为UTF-8,然后在Windows上无条件地使用* W API,在UTF之间进行转换API范围内的-8 char
个字符串和wchar_t
。