3

c++ ファイルのヘッダーとして .h を使用するのは間違っていますか?

特に「Cスタイル」で書かれたコードでは、いたるところで見られます。Emacs は常に .h ヘッダーには C の強調表示スタイルを選択しますが、hpp または hh には c++ を選択することに気付きました。

ヘッダーに .h というラベルを付けるのは実際には「間違っている」のでしょうか、それとも単に私を悩ませているだけなのでしょうか?

編集:

これが私を悩ませるのには十分な (っぽい) 理由があります。プロジェクト ファイルに「hpp & cpp」というラベルが付いている場合、「grep something *pp」などで問題を解決できます。それ以外の場合は、「.h cpp」と入力する必要があります。

4

5 に答える 5

13

それは何も悪いことではありません。これは、Microsoft Visual C++ のデフォルトです。

好きな基準に従って、それに固執してください。

于 2009-03-17T13:25:24.153 に答える
5

C++ ヘッダーを .h と呼ぶのは間違いではありません。コードでどの拡張子を使用する必要があるかについての規則はありません。ヘッダー以外の場合、MSVC は .cpp を使用し、Linux では .cc も使用します。単一のグローバル標準はなく、.h は間違いなく非常に広く使用されています。

しかし、ヘッダーを .hpp (.hh も数回見たことがあります) と呼ぶ方が、単に .h を使用するよりもはるかに一貫性があり、有益であると言えます。

于 2009-03-17T13:45:11.033 に答える
2

Emacs には、.h ファイルが C か C++ かを簡単に判別する方法がないため、.h ファイルに C を選択し、.hpp ファイルに C++ を選択するのはばかげたことではありません。

すべてのブースト ヘッダー ファイルには .hpp というサフィックスが付いていることに注意してください。

于 2009-03-17T13:32:09.660 に答える
2

他のファイルと同様です。C の場合は .c、C++ の場合は .cpp、C の場合は .h、C++ の場合は .hpp を使用します。これは、ほとんどのコンパイラ/エディタを満足させます。そうしなくても特に問題はありませんが、どちらの言語を実際に使用しているかを知るために使用できます。

ファイルの名前を変更せずにその動作を停止したい場合は、Emacs の構成を確認して、ソース コードの検出を変更してみてください。

于 2009-03-17T13:25:19.893 に答える