C++ 在ifdef或ifndef中定义多个

C++ 在ifdef或ifndef中定义多个,c++,C++,这是一个简单的问题,但我以前没有遇到过类似的代码来知道答案。基本上,我在一个ifdef或ifndef语句中可以有两个以上的define吗?举一个基本的例子: #ifdef __GNUC__ #define HELLO(x) x #define WORLD(y) y #else #define __attribute__(x) #define expect(expression, value) (expression)

这是一个简单的问题,但我以前没有遇到过类似的代码来知道答案。基本上,我在一个ifdef或ifndef语句中可以有两个以上的define吗?举一个基本的例子:

    #ifdef __GNUC__
        #define HELLO(x) x
        #define WORLD(y) y
    #else
        #define __attribute__(x)
        #define expect(expression, value) (expression)
    #endif

谢谢你

你当然是。这是完全正确的


您可以在预处理器块中拥有尽可能多的C语句或预处理器指令。

< P>是的,在一个代码< > IFIFEF < /C> > /<代码> > IFNDEF < /代码>中,您可能拥有很多预处理器指令或普通C++语句。[
#else
]<代码>#endif根据需要阻塞


这是一个非常简单的问题,您可能应该在提问之前先尝试一下。

尽管C中有足够多的未指定行为、未定义行为和实现定义行为,但“只是尝试一下”有时是完全错误的建议方法。:)对于C本身来说是正确的——但是对于预处理器?@ TefFMeal:C++中的变量宏?