我正在阅读一些用于编译它们的.cpp文件,并有一个mex文件在MATLAB中用于Level-2 S函数。
我想知道这条指令在实践中的用途是什么:
#define STRINGIFY(x) #x
#define TOSTRING(x) STRINGIFY(x)
感谢您的帮助。
答案 0 :(得分:2)
例如,它在像asserts这样的宏中很有用。如果断言失败,您可能不仅想知道 某些内容失败,而且 失败了。然后,您可以创建一个关于实际上没有持有的条件的字符串。然后,您可以使用它将错误消息打印到控制台,或将其用作异常对象中的描述。
编辑:如果你想知道为什么有两个宏做同样的事情,一个只是引用另一个,你可以在question referred to by Piotr S. in the comments中找到答案。