在C ++中,函数声明中分号前的宏用法

时间:2016-02-29 12:26:14

标签: c++ macros declaration

任何人都可以向我解释以下代码:

    #ifndef SOME_DEF
        #define SOME_DEF
    #endif

    class base_class{    
        public:
        base_class() SOME_DEF;

        ~base_class() SOME_DEF;

        bool init(int arg1, int arg2) SOME_DEF;

    };

我无法理解每个函数后宏的用法。

1 个答案:

答案 0 :(得分:1)

在您的情况下,它不执行任何操作,除非SOME_DEF已在其他位置定义,例如:

#define SOME_DEF { cout << "default definition" << endl; }

如果SOME_DEF被定义为那样,那么您班级中包含SOME_DEF的每个功能都将拥有该主体。