[解決済み】C/C++のインクルードヘッダーファイルの順番
2022-03-25 15:19:34
質問
インクルードファイルはどのような順番で指定すべきでしょうか。つまり、あるヘッダーを別のヘッダーより先にインクルードする理由は何でしょうか?
例えば、システムファイル、STL、Boostはローカルインクルードファイルの前か後か?
どのように解決するのですか?
コンパイルさえできれば、推奨される順序はないと思います 困るのは、あるヘッダが他のヘッダを先にインクルードすることを要求する場合です...。それはヘッダー自体の問題であって、インクルードの順序の問題ではありません。
個人的な好みとしては、ローカルからグローバルへ、各サブセクションをアルファベット順に並べるのがいいと思います、つまり。
- このcppファイルに対応するhファイル(該当する場合)
- 同じコンポーネントのヘッダーを表示します。
- 他のコンポーネントからのヘッダ。
- システムヘッダ。
1.の根拠は、(cppが存在する)各ヘッダーを証明する必要があるからです。
#include
前提条件なし(terminus technicus: header is "self-contained")でd。そして、残りはそこから論理的に流れていくようです。
関連
-
[解決済み】C++エラー:の初期化に一致するコンストラクタがありません。
-
[解決済み】デバッグアサーションに失敗しました
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] C++11では、標準化されたメモリモデルが導入されました。その意味するところは?そして、C++プログラミングにどのような影響を与えるのでしょうか?
-
[解決済み] なぜC++はPythonよりもstdinからの行の読み込みが遅いのですか?
-
[解決済み] なぜテンプレートはヘッダーファイルでしか実装できないのですか?
-
[解決済み] なぜ、オブジェクトそのものではなく、ポインタを使用しなければならないのですか?
-
[解決済み] 仮想デストラクタはいつ使うのか?
-
[解決済み] 家系図ソフトのサイクル
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] string does not name a type Errorが発生するのはなぜですか?
-
[解決済み】文字列関数で'char const*'のインスタンスを投げた後に呼び出されるterminate [閉店].
-
[解決済み】C++エラー:の初期化に一致するコンストラクタがありません。
-
[解決済み】C++プログラムでのコンソールの一時停止
-
[解決済み】オブジェクト引数のない非静的メンバ関数の呼び出し コンパイラーエラー
-
[解決済み】浮動小数点数の乱数生成
-
[解決済み] gdbを使用してもデバッグシンボルが見つからない
-
[解決済み】std::cin.getline( ) vs. std::cin
-
[解決済み] スタックアロケーションにより初期化されていない値が作成された
-
[解決済み] "vector "がこのスコープで宣言されていません。