1. ホーム
  2. c++

[解決済み] *.h または *.hpp をクラス定義に使用します。

2022-02-12 23:52:24

質問

私はいつも *.h ファイルを使用していましたが、ブーストライブラリのコードを読んだ後、それらがすべて *.hpp . 私はこのファイル拡張子にずっと抵抗があったのですが、それは主に慣れないからだと思います。

を使うことのメリットとデメリットは何ですか? *.hpp オーバー *.h ?

解決方法は?

CとC++のヘッダーの命名が異なる理由は、以下の通りです。

  • コードの自動書式設定、CとC++のコードの書式設定に異なるガイドラインがある場合があります。ヘッダーが拡張子で分けられている場合、適切な書式を自動的に適用するようにエディタを設定することができます。
  • 私は、C言語で書かれたライブラリのラッパーをC++で実装するプロジェクトに参加したことがあります。ヘッダーは通常、Feature.hとFeature.hppのように似たような名前なので、簡単に見分けがつきました。
  • あなたのプロジェクトでは、C++で書かれたより適切なバージョンが利用できるのに、Cバージョンを使っているのかもしれません(上記の点を参照)。もしヘッダーに実装されている言語の名前がついていれば、すべてのCヘッダーを簡単に見つけることができ、C++のバージョンを確認することができます。

C言語は ではない C++は、あなたが何をしているかを知らない限り、混在させることは非常に危険です。ソースに適切な名前を付けることで、言語を区別することができます。