【问题标题】:STRINGIFY in .cpp file [duplicate].cpp 文件中的字符串 [重复]
【发布时间】:2014-11-20 11:05:32
【问题描述】:

我正在阅读一些用于编译它们的 .cpp 文件,并有一个 mex 文件可在 MATLAB 中用于 Level-2 S-Function。

我想知道这个指令在实践中的用途:

#define STRINGIFY(x) #x
#define TOSTRING(x) STRINGIFY(x) 

感谢您的帮助。

【问题讨论】:

  • 这不是建议问题的重复。建议的重复是关于宏扩展的工作原理,而这里的问题是指用例。

标签: c++ matlab mex s-function


【解决方案1】:

例如,它在asserts 等宏中很有用。如果断言失败,您可能不仅想知道那个失败了,还想知道什么失败了。然后,您可以创建一个关于实际不成立的条件的字符串。然后你可以用它来打印一个错误信息到控制台或者用它作为一个异常对象的描述。

编辑:如果您想知道更多关于为什么有 两个 宏在做同样的事情,一个只是指另一个,您可以在 question referred to by Piotr S. in the comments 中找到答案。

【讨论】:

    猜你喜欢
    • 2021-08-02
    • 2020-05-31
    • 2022-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多