_T("") vs L 到底用谁?L!

一直没有注意这个,今天突然纠结起来这个问题,代码写多了,难免这两个混用。

现在是时候有个结论了:

 

如果你的工程是unicode编译,那么请明确的使用L!

如果是多字节(ansi),那么请使用_T("")或者更为直接的使用""!

_T() 根据编译环境自动选择使用char还是wchar,但是往往你并不需要切换编译环境,即使你切换了往往也还需要做其他的一些移植工作,比如字符串计算长度,这并没有减少你的工作反而会带来不必要的困惑与风险。而且我们强调,当你不需要某些东西的时候就要明确的拒绝(如决绝默认的类的赋值拷贝)。所以如果想用unicode请在代码中明确的标识它,选择L!

 

如果你已经在工程中大量使用了_T(""),那么替换也很简单,在visual studio里使用正则表达式替换就可以了,如图

 

 

原文地址:https://www.cnblogs.com/lebronjames/p/3158371.html