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

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

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


当前回答

另一个选项是。cxx,其中x应该是一个正旋转45°。

Windows, Mac和Linux都支持。c++,所以我们应该使用它。

其他回答

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

其他使用的文件扩展名包括。cxx和。C(大写C)。我相信Bjarne Stroustrup最初使用的是。C .cpp是C预处理器的名称,所以不幸的是它也被用于c++。

另一个选项是。cxx,其中x应该是一个正旋转45°。

Windows, Mac和Linux都支持。c++,所以我们应该使用它。

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

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

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

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

cpp - c++代码

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

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

有几个人说。cc没有任何意义?它可能。c++最初被称为“带类的C”。

的确,.cc和.cpp在大多数Unix系统(分别是c编译器和c预处理器)上也是命令名。

我只使用。cpp,但我开始使用Windows. cc更像是Unix的惯例,尽管我在Windows上看到的越来越少。GNU make有。cpp的规则,所以这可能是首选,它将在Windows和其他任何系统上默认工作。另一方面,现代c++对头文件完全不使用扩展,我真的不喜欢这样。我所有的项目都使用.h作为头文件,它们通过extern“C”和测试__cplusplus尽可能多地支持C和c++。