如果我有一个使用iostream的A类,我应该把iostream的include语句放在Ah或A.cpp中吗?
Jer*_*fin 26
这是一个有争议的领域.我自己的偏好是每个标题应该能够独立,所以如果它需要其他标题,它包括它们.换句话说,如果客户端代码<iostream>
无论如何都需要包含(或其他),那么您的标题应该为它们处理.OTOH,如果iostream的用户被严格隐藏,因此客户端代码根本不需要包含它,那么它应该只包含在实现文件中.
在许多情况下(特别是在标题对频繁更改开放的情况下),您宁愿避免将其包含在标题中.在这种情况下,PImpl习惯用法可以用于从头部获取依赖性.
如果您确实需要包含<iostream>
,请帮助您的客户,并考虑您是否可以#include <iosfwd>
代替<iostream>
.这可以大大改善编译时间.
归档时间: |
|
查看次数: |
29918 次 |
最近记录: |