C++预处理器能否判断令牌是否为字符串
Can the C++ preprocessor tell whether a token is a string?
预处理器宏是否可以确定其参数是否为字符串(文字)?
例如:
#define IS_STRING(token) ???
IS_STRING("foo") // expands to 1
IS_STRING(foo) // expands to 0
是。但输出略有差异:
#define IS_STRING(token) "" token
字符串文字会很好。对于非字符串,它将给出编译器错误。
逻辑:编译器会自动连接字符串文字,因此如果token
是字符串文字,则"" token
会正常工作。
这是一个相关的讨论。
相关文章:
- 如何在C++中使用X509证书模在令牌中查找私钥
- holeMenuProgram.cpp:38:1 错误:'}'令牌之前的预期主表达式
- C++:"("令牌"之前有预期的非限定 id 指向类中成员函数的指针
- Arduino 用于语句错误。令牌之前的预期')' ';'。如何解决这个问题?
- 错误:令牌 { '{' 之前应存在非限定 ID
- 允许哪些令牌作为 #include 的参数?
- "错误 C0000:语法错误,令牌"<EOF>"处出现意外$end,并且不确定
- 它在 { 令牌之前给了我预期的标识符
- (错误:令牌之前'<<'预期的主表达式)
- 为什么 ## aka 令牌粘贴运算符不适用于 C 和 C++ 中的注释?
- 错误:"->"令牌之前的预期初始值设定项
- 是否可以在多行字符串文本中使用 C/C++ 预处理器令牌
- 下推解析器是否扫描令牌或单个字符
- 是否可以调整令牌权限提升为管理员权限
- C++预处理器能否判断令牌是否为字符串
- 如何判断进程的用户令牌是否与运行进程的登录会话令牌相同?
- 当找到某个令牌时,是否有更快的方法来拆分文本文件
- boost::tokenizer来考虑分隔符之间是否缺少令牌
- 在bison中,是否有一种方法可以返回令牌的Name而不是其类型
- 如果使用system用户令牌启动登录用户进程,是否会危及系统安全