【发布时间】:2013-06-29 06:28:33
【问题描述】:
C 和 C++ 标准都包含文本,大意是如果字符串化操作未能生成有效的字符串文字标记,则行为未定义。在 C++11 中,这实际上是可能的,方法是在原始字符串文字中包含换行符。但标准中始终存在包罗万象的内容。
字符串化是否有其他方式可以产生 UB,而 UB 或格式错误的程序尚未发生?
我很想听听C 或C++ 的任何方言。我是writing 预处理器。
【问题讨论】:
-
大多数人都在努力让他们工作,而不是失败。
-
哈……我想验证失败是否有效,即获取一个测试用例。换行的技巧并没有帮助,因为我将其捕获并添加了
\n。 (好吧,如果您计算反斜杠,它是"\\\\n"。) -
好的,那我没有得到你的要求,你需要预处理器测试用例。 mcpp 有一些验证套件。
标签: c++ c c-preprocessor stringification