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

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

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

原文来自 Blog by Neil, post c++ 中的 L 宏到底是什么 转载请注明出处。本站保留一切权力

发表评论