在下面的代码片段中,s之前的#是什么意思?我指的不是定义之前的#,也不是用于预处理器指令的那些。
// Quote a given token stream to turn it into a string.
#define DEV_QUOTED_HELPER(s) #s
#define DEV_QUOTED(s) DEV_QUOTED_HELPER(s)这个问题不同于"Stringification它是如何工作的?“因为有这个问题的人不知道“字符串化”这个术语。它不同于“什么是C中的'#‘运算符?”因为它也出现在C++代码中,在这种情况下,即使这样也无法在类似问题的列表中显示此问题(它显示了其他可能在SQL、python等中出现的问题)。
发布于 2017-11-11 18:32:10
摘自https://en.wikipedia.org/wiki/C_preprocessor
#运算符(称为“字符串化运算符”)将标记转换为字符串,适当地转义任何引号或反斜杠。
示例:
#定义字符串#s字符串(p= "foo\n";) //输出"p = \"foo\n\";“str(\n) //输出"\n"
https://stackoverflow.com/questions/47236871
复制相似问题