公约。
从历史上看,C ++源文件的后缀是.C
。第一次将C ++移植到文件名不重要的系统时,这导致了一些问题。
不同的用户采用不同的解决方案:.cc
, .cpp
,.cxx
以及其它可能的。今天,在Unix世界之外,它主要是.cpp
。Unix似乎.cc
更经常使用。
对于头文件来说,情况更加令人困惑:无论出于何种原因,最早的C ++作者都决定不区分C和C ++的头文件,并使用它们.h
。
如果项目中没有C,这不会引起任何问题,但是当你开始处理这两个问题时,通常是区分C(.h
)中可以使用的头文件和不能(.hh
或者.hpp
)。
另外,在C ++中,很多用户(包括我自己)更喜欢将模板源和内联函数保存在单独的文件中。其中,虽然严格说来一个头文件,往往会另一套约定的(.inl
,.tcc
和可能很多其他的)。
在头文件中,它对编译器没有任何影响。
对于源文件,不同的结尾会导致编译器采用不同的语言。但是这通常可以被覆盖,并且.cc
在VC ++将其识别为C ++之前很久就和VC ++一起使用了。
总结来说:
非UNIX 系统中 | .cpp |
Unix 系统中常用 | .cc |