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