C++为什么人们不在头文件名中使用大写?

zj_*_*yzr 10 c++ naming header lowercase

我想知道为什么人们不在头文件的名称中使用大写.我看到许多头文件的名称只有小写.但我认为如果用大写字母写它们会更容易,比如"BaseClass.h","SubClass.h",而不是"baseballs.h","subclass.h".这是为什么?或者只是我看到的头文件只以小写命名?

No-*_*are 22

有些系统是区分大小写的(*nix),并且有些系统传统上不区分大小写(Windows).

因此,如果您在*nix上开发并创建两个文件:baseclass.h和BaseClass.h - 您的代码将在*nix上正常编译,但在将其移动到Windows时,它甚至不会正确解压缩.

另一方面,如果你在Windows上开发并在编写'#include"baseclass.h"'时有文件BaseClass.h - 它将在不区分大小写的Windows上编译,但将无法在*nix上编译.

为了避免这些麻烦,有一个不成文(我认为)的惯例,即使用小写的所有文件名 - 至少它保证在任何地方以相同的方式工作.一种最不常见的分母方法,不会造成太多不便.

  • 避免这些麻烦虽然给你其他人.例如Qt中的`qxsdvalidatinginstancereader.cpp`源文件 - 你能轻松阅读它的内容吗? (3认同)
  • @Ruslan:validating_instance_reader.cpp将是其他任何形式的可读性,并且也是小写形式。换句话说-如果某些人不想使用下划线-我不认为这是小写的问题... (2认同)