头文件的包含以及命名空间的引入尽量写在cpp里

转: http://blog.csdn.net/u012234115/article/details/40019945

1,头文件尽量包含在cpp文件里,而不是h文件里

放在.cpp文件中是比较安全的,文件在多次递归包含后很容易出现一些定义和声明上的问题。
放在cpp中可以减小头文件依赖,可以提高编译速度。所以,能放在cpp中的,就不要放在h中。
只有头文件必须用到的放到头文件,头文件中可以使用前置声明来代替。或者所有cpp都用到的也可以放到头文件。
哪里用到就放哪里,谁用谁包含。
一般是默认放在cpp里,之后如果出现.h也用了,再把cpp中的删了。
2,不要在头文件中使用using namespace

经常在头文件中使用namespace。但这样的结果就是,这个头文件会被其他的文件所包含,那么这样那个文件也用了namespace所指定的命名空间,这并不是我们所期望的,可能导致冲突。所以不要在头文件里面使用namespace,特别是接口头文件。
比如说:
在A.h中
using namespace std;

在B.h中,
我们自己定义了一个类vector,
class vector
本想这个类是纯粹我们自己定义的,不是std的那个。
可是在B.cpp中,
我们

include “B.h”

include “A.h”

vector a;
在编译到此的时候,编译器就会报错,不知道这个vector到底是std的那个,还是我们自己定义的那个。
所以我们最好不要在头文件中使用using namespace XXX;我们可以在头文件中直接使用全名称。在cpp中可以放心地使用它。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值