摘要:
为头文件添加保护:在所有头文件中使用带有唯一名称的包含保护符(#include guard),防止无意的多次包含。
在编写程序的头文件的时候,要注意每个头文件都应该用内部包含保护符来进行保护,以避免在多次包含时重新定义。例如在下面的例子中对于头文件foo.h应该用包含保护符进行保护。
#ifndefFOO_H_INCLUDED_ #defineFOO_H_INCLUDED_ //....文件内容..... #endif
这里不得不说内部包含保护符和外部包含保护符了,内部包含保护符就是上面代码中的形式,当多次使用#include “foo.h”,foo.h中的内容也只会使用一次。而外部包含保护符是另外一种形式,如下面代码所示:
#ifndefFOO_H_INCLUDED_ #include"foo.h" #defineFOO_H_INCLUDED_ #endif
由于外部包含保护符经常可能会忘记写,容易被误用,因此不推荐使用。要尽量使用内部包含保护符。
在使用包含保护符的时候要遵循以下规则:
1.保护符使用唯一名称。确保名称至少在你的应用程序中是唯一的。
2.不要自作聪明。不要在受保护部分的前后防止代码或者注释,要谨遵上面的标准形式。