5

必要なものすべてをすべてのheader/cppファイルに#includeする必要がありますか?私は2DゲームエンジンのATM(主に練習用)に取り組んでおり、コードを確認すると、ほとんどすべてのファイルで文字列とベクトルを繰り返していることがわかります。これは問題ですか?どうすれば対処できますか?

私はいつも、あなたが書くすべてのクラスやモジュールは、いわばそれ自身の2本の足で立つべきだという意見を持っていました。私はジェネリックプログラミングを本当に楽しんでいます(私は自分のスクリプト言語をエンジンに含め、自分のドラフトスクリプトエンジンを使用しています)が、それが多くのオーバーヘッドと混乱を引き起こす可能性があることも認識しています。

4

2 に答える 2

5

<string>私は必要な場合に<vector>のみ含めることに固執します。

個々のヘッダーファイルが独立していることを確認することに関しては、GoogleC++スタイルガイドがインクルードオーダーを処理する方法が好きです。基本的に、foo.hpp他のすべてのインクルードの前に、対応するインクルードを常にリストしfoo.cppます。foo.hppそうすれば、その前に何かが含まれることを期待せず、そこにない場合は失敗することがわかります。

于 2012-07-01T01:14:20.800 に答える
2

それは問題ではありません。すべてのファイルに、絶対最小の依存関係を含める必要があります。これ以上でもそれ以下でもありません。

于 2012-07-01T01:11:59.650 に答える