C++ 不同类型的C/C++;标头档

C++ 不同类型的C/C++;标头档,c++,c,header-files,C++,C,Header Files,在最传统的方式中,c/c++使用.h作为头文件扩展名。然而,在现实世界中(即Visual C++),还有许多其他类型的头文件,例如:.hxx,.hh,.w,.idl,等等 我的问题是,为什么人们需要不同类型的头文件?我没有看到的所有头类型的完整列表,但请选择您熟悉的任何一种类型并稍作解释。对于编译器来说,没有区别。您可以使用所需的扩展,甚至完全不使用扩展。因此,.hh,.hxx,。我的扩展名是有效的。对于编译器来说,唯一重要的是它可以找到一个具有您指定名称的文件。对于编译器来说,没有区别。您可以

在最传统的方式中,c/c++使用
.h
作为头文件扩展名。然而,在现实世界中(即Visual C++),还有许多其他类型的头文件,例如:
.hxx
.hh
.w
.idl
,等等


我的问题是,为什么人们需要不同类型的头文件?我没有看到的所有头类型的完整列表,但请选择您熟悉的任何一种类型并稍作解释。

对于编译器来说,没有区别。您可以使用所需的扩展,甚至完全不使用扩展。因此,
.hh
.hxx
。我的扩展名
是有效的。对于编译器来说,唯一重要的是它可以找到一个具有您指定名称的文件。

对于编译器来说,没有区别。您可以使用所需的扩展,甚至完全不使用扩展。因此,
.hh
.hxx
。我的扩展名
是有效的。对于编译器来说,唯一重要的是它可以找到一个具有您指定名称的文件。

对于编译器来说,没有区别。您可以使用所需的扩展,甚至完全不使用扩展。因此,
.hh
.hxx
。我的扩展名
是有效的。对于编译器来说,唯一重要的是它可以找到一个具有您指定名称的文件。

对于编译器来说,没有区别。您可以使用所需的扩展,甚至完全不使用扩展。因此,
.hh
.hxx
。我的扩展名
是有效的。编译器的唯一重要的事情是它可以找到一个文件,你有指定的名称。

< P>编译器不关心扩展,但是大多数代码编辑器如果遇到这些扩展,就会切换到C++模式。
<>例如,Emacs使用 C++模式>代码> .<代码>扩展,同时切换到C++模式> <代码> .HPP扩展.< /P> < P>编译器不关心扩展,但是大多数代码编辑器如果遇到这些扩展,就会切换到C++模式。
<>例如,Emacs使用 C++模式>代码> .<代码>扩展,同时切换到C++模式> <代码> .HPP扩展.< /P> < P>编译器不关心扩展,但是大多数代码编辑器如果遇到这些扩展,就会切换到C++模式。
<>例如,Emacs使用 C++模式>代码> .<代码>扩展,同时切换到C++模式> <代码> .HPP扩展.< /P> < P>编译器不关心扩展,但是大多数代码编辑器如果遇到这些扩展,就会切换到C++模式。
例如,Emacs将使用
c-mode
.h
扩展名,同时切换到
c++-mode
.hpp
扩展名。

我将使用.inl作为头的内联方法,我不想把我的“接口”文档(即.h文件)弄乱。因此,在MyClass.h的底部,我将
#包括“MyClass.inl”
我也看到了
.hpp
,可怕的是,
.h++
@MooingDuck:
.h++
似乎是合法的。用于
#include
文件名的q-char序列由q-char定义:源字符集的任何成员,新行和
类似地用于h字符-sequence@BenVoigt:是的,这是完全合法的,当我在文件名中看到这样的字符时,我会犹豫。我将使用.inl作为该头的内联方法,我不想把我的“接口”文档(即.h文件)弄乱。因此,在MyClass.h的底部,我将
#包括“MyClass.inl”
我也看到了
.hpp
,可怕的是,
.h++
@MooingDuck:
.h++
似乎是合法的。用于
#include
文件名的q-char序列由q-char定义:源字符集的任何成员,新行和
类似地用于h字符-sequence@BenVoigt:是的,这是完全合法的,当我在文件名中看到这样的字符时,我会犹豫。我将使用.inl作为该头的内联方法,我不想把我的“接口”文档(即.h文件)弄乱。因此,在MyClass.h的底部,我将
#包括“MyClass.inl”
我也看到了
.hpp
,可怕的是,
.h++
@MooingDuck:
.h++
似乎是合法的。用于
#include
文件名的q-char序列由q-char定义:源字符集的任何成员,新行和
类似地用于h字符-sequence@BenVoigt:是的,这是完全合法的,当我在文件名中看到这样的字符时,我会犹豫。我将使用.inl作为该头的内联方法,我不想把我的“接口”文档(即.h文件)弄乱。因此,在MyClass.h的底部,我将
#包括“MyClass.inl”
我也看到了
.hpp
,可怕的是,
.h++
@MooingDuck:
.h++
似乎是合法的。用于
#include
文件名的q-char序列由q-char定义:源字符集的任何成员,新行和
与h-char类似-sequence@BenVoigt:是的,这是完全合法的,当我在文件名中看到这样的字符时,我会犹豫。