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 不会走的