c – 如何组织您的STL标题?
我正在使用一个使用STL的大型项目,并提出了有关您首选组织STL #includes的问题.
>您是否喜欢#include其使用的源文件中的每个标题.例如,如果foo.cpp和bar.cpp都要求std :: string,那么两者都将#include< string> ;. 第一种方法的优点是.cpp文件是一个独立的单元,可以在不同的项目中使用,而不用担心你错过了#include.第二种方法的优点是您可以使用编译器预编译头支持,还可以将STL #include包含在禁用某些警告的编译指示中(例如,某些Boost头在4级编译时会导致警告). 你最喜欢用哪种? 解决方法
我只包括每个源中真正需要的头文件,而不是“捕获所有”标题,以使依赖性(并因此编译时间)尽可能低.
预编译头可以工作,而不管这样(即,我依靠预编译头来加快编译过程,而不是获取声明).所以即使通过包含的预编译头文件声明了某些东西,我仍然包含’常规’头,这将被include guard机制跳过,并且不会对编译时间增加任何重要的东西. 由于预编译头是编译器特定的东西.在我看来,优化/更改预编译头文件对代码的正确运行没有影响. 使依赖性尽可能低的主要优点是重构变得更容易(或者更可行) 这本书的所有这本书都是Large Scale C++ Design from Lakos (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |