C++ 预编译的时候使用defined 的含义

defined 可以理解为定义了

defined(xx) 是否成立的就是xx 是否被宏定义,若果被宏定义了,则成立,如果没有被宏定义,则不成立,

写个demo 理解下

#include <iostream>
#include <string>
using namespace std;
#define POWER 1
int main()
{

#if defined(POWER)
    cout << "power==1" << endl;
#elif defined(HELLO)
    cout << "power==1" << endl;
#else
    cout << "power==1" << endl;
#endif

        return 0;
};

POWER 和HELLO 它们2个POWER 被定义了,它是成立的,所以这里会走到#if ,由于HELLO没有宏定义,#elif 不会走的

上一篇:c语言中#define a 1或者未定义的变量# if a==1会是什么结果


下一篇:ReferenceError: window is not defined