头文件保护(防止头文件多次包含)----<<C++ Primer>>

#define:指令把一个名字设定为预处理变量
#ifdef:当且仅当预处理变量已经定义时,为真
#ifndef:当且仅当预处理变量未定义时,为真
#endif:一旦上述两个结果为真,则执行后续操作,知道遇 #endif指令位置为止

举例:
Sale.h

#ifndef SALES-DATA
#define SALES-DATA
calss DATE{
    
    
private:
int a;
double b;
char c;
};
#endif

定义了一个类,放在一个头文件Sale.h中,当有程序第一次包含Sale.h时,#ifend检查结果为真,预处理器将顺序执行后面的操作,知道遇到#endif为止,此时SALES-DATA的值将变成已定义的,如果这个程序再次包含Sale.h,那么#ifend值为假,编译器将忽略#ifndef SALES-DATA到#endif之间的内容

参考书籍—<<C++ Primer>>第五版 p68

猜你喜欢

转载自blog.csdn.net/weixin_49324123/article/details/112602014