2016-07-25 37 views
-1

這個問題沒有與爲什麼C++有頭文件或頭文件常用的擴展。當一個C++文件在文件名末尾有.cpp.hpp時,這是什麼意思?

爲什麼文件中有這兩個「.cpp」和「.hpp」的名字?

例如,

example.cpp.hpp 

很抱歉,如果答案似乎顯而易見或搜查,但我已經通過許多不同的搜索引擎的看了看,什麼也找不到。

+0

我不相信你會困擾我閱讀我的問題。該頁面上沒有以「.cpp.hpp」結尾的文件名 –

+1

這可能是模板定義的文件,它需要位於同一個TU中。我從來沒有見過任何人使用它作爲擴展名,所以除了自動添加.cpp擴展名之外,這是我唯一能想到的。 – chris

+0

謝謝克里斯。 –

回答

1

由於擴展名爲.hpp,因此您的文件幾乎肯定是頭文件。 (它可能是一個源文件,沒有人知道,擴展名並不意味着什麼)。

請注意,只有.hpp是擴展名,而不是.cpp.hpp。實際的文件名是example.cpp。任何給定文件只能有一個擴展名。

爲什麼有人會那樣做?這是一個理論:

Windows上的默認選項(我認爲)是隱藏文件擴展名。該人可能試圖通過重命名該文件來更改擴展名。但是由於實際的擴展名被隱藏了,他將.cpp添加到了實際的文件名中,所以文件變成了example.cpp.hpp。由於.hpp部分是隱藏的,因此該人認爲該文件具有正確的擴展名,但沒有。

+0

按照慣例,一個頭文件會有一個.hpp擴展名(如果你想要,.cpp可以是一個頭文件)。但是,.cpp.hpp首先不是一個廣泛使用的約定。 – chris

+0

@chris真的嗎?我雖然這是慣例..它是'.cc'嗎? – Rakete1111

+0

具有完整.cpp.hpp的一個文件不是我見過的約定。 .cc,.cpp和.hpp都是。 – chris

相關問題