c++ 中写宽字符串常量前需要带字母L
:
L"hello world"
这个 L
是宏吗. 为什么没有圆括号.
这里有两个解释:
https://stackoverflow.com/questions/13379451/how-is-l-macro-defined
https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/18829987-acaf-49f6-a63c-14fdb9793a4d/ltext-macro-recognized-as-const-char-in-mfc-application?forum=vclanguage
简单的说, L
不是宏. 而是一个编译器定义的前缀. 其作用相当于用于浮点数的 f
后缀:
1.34f
只是一个是前缀, 一个是后缀而已. 编译器会自动识别.