c – 如何组织您的STL标题?

前端之家收集整理的这篇文章主要介绍了c – 如何组织您的STL标题?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用一个使用STL的大型项目,并提出了有关您首选组织STL #includes的问题.

>您是否喜欢#include其使用的源文件中的每个标题.例如,如果foo.cpp和bar.cpp都要求std :: string,那么两者都将#include< string&gt ;.
>您是否喜欢使用包含项目所使用的所有STL头的单个头文件(即将它们添加到MS’stdafx.h’预编译头).

第一种方法的优点是.cpp文件是一个独立的单元,可以在不同的项目中使用,而不用担心你错过了#include.第二种方法的优点是您可以使用编译器预编译头支持,还可以将STL #include包含在禁用某些警告的编译指示中(例如,某些Boost头在4级编译时会导致警告).

你最喜欢用哪种?

解决方法

我只包括每个源中真正需要的头文件,而不是“捕获所有”标题,以使依赖性(并因此编译时间)尽可能低.

预编译头可以工作,而不管这样(即,我依靠预编译头来加快编译过程,而不是获取声明).所以即使通过包含的预编译头文件声明了某些东西,我仍然包含’常规’头,这将被include guard机制跳过,并且不会对编译时间增加任何重要的东西.

由于预编译头是编译器特定的东西.在我看来,优化/更改预编译头文件代码的正确运行没有影响.

使依赖性尽可能低的主要优点是重构变得更容易(或者更可行)

这本书的所有这本书都是Large Scale C++ Design from Lakos

猜你在找的C&C++相关文章