如何在c ++中使用宽字符串文字而不将L放在每个文字的前面

Fry*_*Fry 13 c++ string literals

你必须原谅我的无知,但我不习惯在c ++中使用宽字符集,但有没有办法可以在c ++中使用宽字符串文字而不在每个字面值前加一个L?

如果是这样,怎么样?

Fer*_*cio 25

不,没有.你必须使用L前缀(或一个宏,如_T()与VC++,当编译为Unicode时,无论如何都会扩展为L).

  • 这不完全准确.在定义UNICODE时,_T()宏仅扩展为L. 这基本上就是将它作为一个宏.如果你想让字符串始终是unicode,只需直接使用L. (6认同)

sho*_*osh 18

新的C++ 0x Standard定义了另一种方法:http:
//en.wikipedia.org/wiki/C%2B%2B0x#New_string_literals