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.不要自作聪明。不要在受保护部分的前后防止代码或者注释,要谨遵上面的标准形式。

相关文章
|
6月前
|
自然语言处理 算法 Java
C/C++ 程序员编程规范之注释
C/C++ 程序员编程规范之注释
189 1
|
6月前
|
存储 算法 测试技术
|
6月前
|
程序员 编译器 C++
|
6月前
|
程序员 开发工具 C++
C/C++ 程序员编程规范之排版
C/C++ 程序员编程规范之排版
74 1
|
6月前
|
编译器 C++
[C++] include头文件双引号““与尖括号<>的区别
[C++] include头文件双引号““与尖括号<>的区别
99 0
|
编译器 C++
【C++】实用编程规范与建议
C++ 相关,比较实用的 防止疏漏出错的编码规范与编码建议
188 0
|
C++
万能头文件#include<bits/stdc++.h>
#include<bits/stdc++.h>这个头文件的含义
366 1
|
编译器 C++
【为什么】C++中的#pragma once是干什么,和#include guard区别
【为什么】C++中的#pragma once是干什么,和#include guard区别
148 0
【C++的万能超级无敌头文件 #include <bits/stdc++.h> 】
【C++的万能超级无敌头文件 #include <bits/stdc++.h> 】
|
C语言 C++
C++__#include <cstdio>有什么用?
C++__#include <cstdio>有什么用?
265 0