#ifdef与#endif的作用

用法

//list.h
#ifndef LIST_H_
#define LIST_H_
class list{
    
    }
//#else
#endif

解释

常用于头文件中,防止.h文件中类被重复定义,因为在一个头文件A中常常引用另一个头文件B,在主程序中如果引用A.h,B.h, 那么B中的类会出现重复定义的情况,则会报错。很多时候我们并不清楚头文件之间的相互调用关系,为防止这种情况,就是用ifndef语句来使头文件仅被编译一次。
这个语句相当于if语句,if(#define xxx){。。。。。},xxx是否被定义过为判定条件,下面紧跟着接一句#define xxx语句,定义xxx, 一直到#endif结束,之间的代码相当于括号内内容,如果是第一次引用头文件,那么xxx没有被定义,头文件被编译,第二次引用,判断xxx已经被定义过,头文件则不会被编译,防止类的重复定义。
注:一般格式为:#define 头文件名大写

猜你喜欢

转载自blog.csdn.net/qq_40602655/article/details/114368399
今日推荐