条件编译预处理指令允许您指定在什么条件下会或不会编译。唯一的条件编译指令我们将在本节盖#如果定义了,则和endif # #。
#如果定义了预处理指令允许的预处理器检查值是否已预先#定义。如果是这样,如果定义了相应的编译# # endif之间的代码。如果不是的话,代码被忽略。
考虑下面的代码片段:
1
2
3
4
5
6
7
8
9
#define PRINT_JOE
#ifdef PRINT_JOE
cout << "Joe" << endl;
#endif
#ifdef PRINT_BOB
cout << "Bob" << endl;
#endif
由于已定义print_joe #,cout <<“乔线”<< endl;将编译。因为没有定义print_bob #线cout <<,“鲍勃”<< endl;将不会编译。
# #则是如果定义了相反的,它允许你检查是否一个名字尚未定义。