C++头文件保护符(C++ Header Guard)一般我们会为了防止头文件被包含多次,会添加头文件保护符

一般我们会为了防止头文件被包含多次,都会在每个头文件中写与如下类似的代码: 
// 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//优点:方便,缺点:无可移植性











 
                     
                                                 
                                                 
                                                 
                                                 
                                                 
                                                 
                                                 
                                                 
                                                 
                                                 
                                                 
                                                 
                     
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                            


















 
                         
            