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

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

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


当前回答

我个人从来没有在我所从事的任何项目中看到过。cc,但在所有的技术层面上,编译器都不会关心。

谁会关心你的源代码的开发人员,所以我的经验法则是使用你的团队觉得舒服的东西。如果你的“团队”是开源社区,那么就使用一些非常常见的东西,其中.cpp似乎是最受欢迎的。

其他回答

与大多数风格惯例一样,只有两件事是重要的:

在任何可能的情况下,在你所使用的东西上保持一致。 不要设计任何依赖于特定选择的东西。

这些似乎相互矛盾,但它们都有各自的价值。

归根结底,这并不重要,因为c++编译器可以处理两种格式的文件。如果这在你的团队中是一个真正的问题,抛硬币,然后继续实际的工作。

GNU GCC将以下所有文件识别为c++文件,并且无论您是通过GCC还是g++调用它,都将使用c++编译:.C, .cc, .cpp, .cpp, .c++, .cp或.cxx。

注意。C -大小写在GCC中很重要,.C是一个C文件,而.C是一个c++文件(如果你让编译器决定它要编译什么)。

GCC还支持其他后缀来表示特殊处理,例如.ii文件将被编译为c++,而不是预处理(用于单独的预处理代码)。所有被认可的后缀的详细信息请参见gcc.gnu.org

正如其他人在我之前所写的,最后是你的项目/团队/公司所使用的。

就我个人而言,我不使用cc扩展,我试图降低扩展的数量,而不是增加它们,除非有一个明确的值(在我看来)。

为了它的价值,这是我使用的:

c -纯c代码,没有带方法的类或结构。

cpp - c++代码

hpp -只有头文件的代码。实现在头文件中(像模板类一样)

h - C/ c++的头文件。我同意可以进行另一种区分,但正如我所写的,我试图减少扩展的数量以简化。至少从我工作过的c++项目来看,纯C的h文件更少,因此我不想再添加另一个扩展。

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

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