簡體   English   中英

使用.h 作為 c++ 文件的 header 是否錯誤?

[英]Is using .h as a header for a c++ file wrong?

使用.h 作為 c++ 文件的 header 是否錯誤?

我到處都能看到它,尤其是用“C 風格”編寫的代碼。 我注意到 Emacs 總是為 ah header 選擇 C 突出顯示樣式,但對於 hBD9.039662

你的 headers.h 對 label 來說實際上是“錯誤的”還是只是讓我煩惱的事情?

編輯:

這讓我很惱火有一個很好的(ish)原因,如果我有標記為“hpp & cpp”的項目文件,我可以使用“grep something *pp”等。否則我必須輸入“.h cpp”

沒有錯。 這是 Microsoft Visual C++ 的默認設置。

只要遵循你喜歡的標准,並堅持下去。

調用你的 C++ headers.h 並沒有 沒有關於您的代碼必須使用哪些擴展的規則。 對於您的非標頭,MSVC 使用 .cpp 和 Linux 和 .cc。 沒有一個全球標准,而且.h 的使用肯定非常廣泛。

但我會說調用你的 headers.hpp(我也見過幾次.hh)比使用.h 更加一致和信息豐富。

您可以自由使用.h.H.hpp.hxx.hh或其他。 Just like you're free to use .c for C sources, and .C , .cpp , .cc , or .cxx for C++ sources. 擴展主要是一種約定。

It's like with the other files -.c for C, .cpp for C++ - use.h for C, .hpp for C++. 這將滿足大多數編譯器/編輯器。 不這樣做並沒有錯,但它可以用來提示您實際使用的兩種語言中的哪一種。

如果您想在不重命名文件的情況下停止該行為,您應該查看 Emacs 配置並嘗試更改源代碼檢測。

Since Emacs has no easy way of finding out whether ah file is C or C++, it's not ridiculous to choose C for.h files and C++ for.hpp files.

注意所有boost header文件都以.hpp為后綴。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM