// a.h
#ifndef A_H
#define A_H
//内容
#endif
这样,你如果在两个地方都有这个语句:
#include "a.h"
那么这个头文件将被保证只被加入一次,你知道为什么会只加入一次吗?因为A_H这个宏定义哈。
然后这样其敬哗实也可以的:
如:
//a.h
什么也不加..
调用时:
第一亮猜行次调用
#ifndef A_H
#define A_H
#include "a.h"
#endif
第二次调用:
#ifndef A_H
#define A_H
#include "a.h"
#endif
前者叫内部保护,后者叫外部保护。
由于外部保护经常可能会忘记写,容易被误用,所以我们推荐使用内部保护。
微软提供了一个指令使你可以更方便的保护:
#pragma once//优点:方便,缺点:无可移植性
头文件是根据你#include的顺序加入到你的文件中的。c/c++中include头文件为了不被循返枯环引用核亏,通常要做头文件保护。在头文件中含有保护符,即使这些头文件不会被其他头改世神文件包含。
在头文件前加入
#if !defined(_HEADER_FILE_CLASS)
#define _HEADER_FILE_CLASS
你的头文件
#endif
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)