我曾见过c++代码同时保存为.cc和.cpp文件。这两者之间有什么区别吗?

谷歌风格指南似乎建议使用.cc,但没有提供解释。

我主要关心Linux系统上的程序。


当前回答

只要遵循项目/团队使用的约定即可。

其他回答

.C和.cc似乎是我见过的(少数)面向unix的c++程序的标准。我自己一直使用。cpp,因为我只在Windows上工作,这是永远的标准。

我个人推荐。cpp,因为……它代表“C + +”。当然,文件扩展名是首字母缩略词是非常重要的,但如果这个理由证明不够有说服力,其他重要的事情是不使用shift键(这排除了.c和.c++)和尽可能避免正则表达式元字符(这排除了.c++——不幸的是,你不能真正避免。当然)。

这并不排除.cc的可能性,所以即使它并不代表任何东西(或者它真的代表什么吗?),对于面向linux的代码来说,它可能是一个很好的选择。

我分别使用。c和。h作为源文件和头文件。这种选择的一个好处是,在命令行上,它很容易使用*。[Ch]选择所有的代码文件。在不区分大小写的文件系统中使用。c可能是个问题,但如果你在同一个目录中有foo.c和foo.c,你无论如何都应该得到这样的结果:)

我个人使用.cc作为实现文件的扩展名,.hh作为头文件,.inl作为内联/模板。

如前所述,这主要是一个品味问题。

就我所见,.cc似乎更“面向开源项目”,因为它在一些优秀的开源软件编码风格中被建议使用,而.cpp似乎更偏向于Windowish。

——编辑

如前所述,这是“从我所见”,它可能是错误的。 只是我参与的所有Windows项目都使用。cpp,而很多开源项目(主要是类unix的)使用。cc。

使用.cc编码样式的示例:

谷歌:http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml ICL: http://www.doc.ic.ac.uk/lab/cplus/c++.rules/chap4.html#sect2

据我所知,.cpp是c++的推荐扩展名。有些人甚至建议使用.hpp作为c++头文件,只是为了区别于C。

尽管编译器并不关心你做什么,但这是个人偏好。

.cc扩展名对于在makefile中使用隐式规则是必要的。通过这些链接可以更好地理解makefiles,但主要看第二个链接,因为它清楚地说明了.cc扩展名的有用性:

ftp://ftp.gnu.org/old-gnu/Manuals/make-3.79.1/html_chapter/make_2.html

https://ftp.gnu.org/old-gnu/Manuals/make-3.79.1/html_chapter/make_10.html

我现在才知道。