#ifndef MACRO
statement...
#else
statement...
#endif
检测MACRO
是否已经被定义了。
单分支:
#ifndef MACRO
//some code
#endif
双分支:
#ifndef MACRO
//some code
#else
//some code
#endif
#ifndef XX_H
#define XX_H
#endif
为了防止重复定义宏
。
#ifndef XX_H
#define XX_H
void urlEncode(unsigned char* bytes, char* encodeUrl)
#endif
为了防止重复include一个文件中的内容。
#ifndef MACRO
与#if !defined (MACRO)
等价。
#ifndef MACRO
只能判断一个宏
,而#if !defined (MACRO1) && defined (MACRO2)
却可以判断多个宏
。