Neil Developer

c++ 中的 L 宏到底是什么

2017-08-23
Neil
c++

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

只是一个是前缀, 一个是后缀而已. 编译器会自动识别.


Comments

Content