阅读940 返回首页    go 阿里云 go 技术社区[云栖]


C++编程规范之24:总是编写内部#include保护符,绝不要编写外部#include保护符

摘要:

    为头文件添加保护:在所有头文件中使用带有唯一名称的包含保护符(#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.不要自作聪明。不要在受保护部分的前后防止代码或者注释,要谨遵上面的标准形式。

最后更新:2017-04-03 12:53:49

  上一篇:go Windows 8.1都过去了,Windows 9还会远吗?
  下一篇:go svn插件安装