【问题标题】:How to define "define" as a macro, is it possible?如何将“定义”定义为宏,可以吗?
【发布时间】:2016-01-08 22:28:08
【问题描述】:

我想知道是否可以将“定义”定义为宏? 就这样

#define A #define
A MAX_SIZE 100
A MIN_SIZE 0

我可以定义它吗? (在 C++ 中)

【问题讨论】:

  • 你到底想做什么?
  • 你不应该混淆你的代码。如果您懒得打字,请使用带有文本补全功能的编辑器。
  • 您可以这样做,但预处理器不会将其解释为指令,您最终会在代码中使用文字 #define MAX_SIZE 100,这将导致在运行期间出现语法错误编译阶段。
  • 我听说你喜欢定义——所以我在你的定义中放了一些定义,这样你就可以在定义的同时定义......说真的,即使这样有效,那也是个坏主意。在 C++ 中,常量是一种更好的方法。
  • 伙计们,我知道如何使用#define 以及为什么使用它。但是,我有性格的限制。所以我必须尽可能短地完成我的代码。

标签: c++ macros user-defined-functions


【解决方案1】:

没有。宏扩展的结果不会被视为新的宏指令。

【讨论】:

    【解决方案2】:

    您不能这样做,因为第二个 #define 不会被解析为另一个预处理器指令。

    【讨论】:

      【解决方案3】:

      您必须编写自己的自定义预处理器来执行此操作,就像在这篇文章中一样:

      Custom gcc preprocessor

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-12-19
        • 1970-01-01
        • 2017-11-07
        • 1970-01-01
        • 1970-01-01
        • 2020-03-05
        • 2020-11-22
        相关资源
        最近更新 更多