我正在处理一个使用 STL 的大型项目,并且对您组织 STL 的首选方式有疑问#includes
。
- 您是否喜欢在使用的源文件中 #include 每个标头。例如,如果两者都
foo.cpp
需要bar.cpp
,std::string
那么两者都会#include <string>
。 - 您是否希望拥有一个包含项目使用的所有 STL 头文件的单个头文件(即将它们添加到 MS 'stdafx.h' 预编译头文件中)。
第一种方法的优点是 .cpp 文件是一个独立的单元,可以在不同的项目中使用,而不必担心会丢失 .cpp 文件#include
。第二种方法的优点是您可以使用编译器预编译的头文件支持,另外您可以将 STL 包装#includes
在pragmas
其中禁用一些警告(例如,某些 Boost 头文件在第 4 级编译时会导致警告)。
你更喜欢使用哪个?