ヘッダー ファイルに STL をインクルードするのは悪い考えですか、それとも良い考えですか? ここで、それらを独自に定義したクラスのメンバー変数として使用します。
私の推測では、作成したライブラリが C++ 標準ライブラリから完全に独立していることを本当に望んでいる人がいるということです。そのため、C++ STL で利用可能な機能と同様の型を再度書き直すことを余儀なくされますが、他の人は後で必要になる型をヘッダー ファイルで前方宣言しようとします。他の人はこれを悪い習慣と見なし、まったく良い考えではありません。
私が間違っている場合は修正してください(私はあまり知らないので、すべてが単なる仮定です):
vector
それで、STLで利用可能な型を前方宣言するときのコードの移植性の観点からの影響は何ですか(コードをプラットフォームに依存しないことを本当に望んでいた人にとって)?常に動作することが保証されています)。ヘッダー ファイルに STL をインクルードすると、どのような問題が発生する可能性がありますか? また、これは私のコードの移植性に影響しますか?
DLL のヘッダー ファイルに STL をインクルードし、その DLL を他のコンピューターに取り込むと、どのような問題が発生する可能性がありますか?
また、ヘッダーに STL を含める必要がある (すべきでない) 理由を教えてください。