2016-07-25 57 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