私は STL を使用する大規模なプロジェクトに取り組んでおり、 STL を編成するための望ましい方法について質問があります#includes
。
- 使用されるソース ファイルに各ヘッダーを #include することを好みますか。たとえば、両方
foo.cpp
とbar.cpp
requirestd::string
の場合、両方が になり#include <string>
ます。 - プロジェクトで使用するすべての STL ヘッダーを含む単一のヘッダー ファイルを使用したいですか (つまり、それらを MS 'stdafx.h' プリコンパイル済みヘッダーに追加します)。
最初の方法の利点は、.cpp ファイルが独立した単位であり、.cpp ファイルがないことを心配することなく別のプロジェクトで使用できることです#include
。2 番目の方法の利点は、コンパイラのプリコンパイル済みヘッダー サポートを使用できることに加えて、一部の警告を無効にする STL をラップできることです#includes
(pragmas
たとえば、一部の Boost ヘッダーは、レベル 4 でコンパイルするときに警告を発生させます)。
どちらを使用するのが好きですか?