C++ 包括<;x>;vs包括<;x、 h>;

C++ 包括<;x>;vs包括<;x、 h>;,c++,header-files,C++,Header Files,我知道我们总是包含一个头文件,那么为什么我会发现一些头文件像 #include<iostream> #include<windows.h> #包括 没有.h扩展名,但有些头文件 #include<iostream> #include<windows.h> #包括 对于.h扩展名,我还尝试将.h添加到一些头文件中,如iostream.h,但这不起作用,那么在包含文件时添加.h扩展名与不添加文件时有什么区别呢 谢谢你的回复。。。非常感谢它只

我知道我们总是包含一个头文件,那么为什么我会发现一些头文件像

#include<iostream>
#include<windows.h>
#包括
没有.h扩展名,但有些头文件

#include<iostream>
#include<windows.h>
#包括
对于.h扩展名,我还尝试将.h添加到一些头文件中,如iostream.h,但这不起作用,那么在包含文件时添加.h扩展名与不添加文件时有什么区别呢


谢谢你的回复。。。非常感谢

它只取决于特定的标题

标准库标题(如
)没有扩展名-只需使用名称即可

对于其他头文件(严格来说,这些头文件不应称为“头文件”,而应称为“包含的源文件”),它是文件作者决定使用的任何文件。因此
windows.h
使用扩展名
.h
。Boost在其文件上更喜欢
.hpp
<代码> HH或。HXX通常用于C++,但如果头文件的作者决定使用<代码> MyHealth.IAMBOB ,则必须:

#include <myHeader.IamBob>
#包括

它只取决于特定的标题

标准库标题(如
)没有扩展名-只需使用名称即可

对于其他头文件(严格来说,这些头文件不应称为“头文件”,而应称为“包含的源文件”),它是文件作者决定使用的任何文件。因此
windows.h
使用扩展名
.h
。Boost在其文件上更喜欢
.hpp
<代码> HH或。HXX通常用于C++,但如果头文件的作者决定使用<代码> MyHealth.IAMBOB ,则必须:

#include <myHeader.IamBob>
#包括

您始终需要指定确切的文件名。没有“隐式”
.h
。对于标准一致的实现,C++库没有扩展。 所以

#include <iostream>
#包括
有效且符合要求,而

#include <iostream.h>
#包括

可能被您的编译器(或您的邻居)接受,但它不可移植,也不能保证与
iostream

完全相同或兼容。您始终需要指定确切的文件名。没有“隐式”
.h
。对于标准一致的实现,C++库没有扩展。 所以

#include <iostream>
#包括
有效且符合要求,而

#include <iostream.h>
#包括

可以被编译器(或邻居)接受,但它不是可移植的,也不能保证与<代码> IoSturi相同或兼容。

< P> >在C++之前首次被标准化的IoSurviv.h头在1998中是常用的。但自从使用98标准代替了,后者就不再受欢迎(非标准和全部),不再在所有平台上受支持。使用它的代码应视为非标准遗留代码,并且不可移植。
包含<代码> <代码>,而不是<代码> <代码>(后者被禁止)

< p> iOnSurviv.h头,在C++最初被标准化为1998之前是常用的。但自从使用98标准代替了,后者就不再受欢迎(非标准和全部),不再在所有平台上受支持。使用它的代码应视为非标准遗留代码,并且不可移植。
包含
,而不是
(后者已弃用)

它不起作用,因为您的系统上不存在
iostream.h
。没有区别。您需要给出文件的确切名称。标准C++标题在文件名中没有<代码> .h >代码>。但是,有一个文件
windows.h
。如果您创建自己的头文件,您可以随意命名它们,但以
.h
结尾是正常的惯例。“为什么有些名称以y结尾,而其他名称以ie结尾?如果我写Jimmy而不是Jimmie,那么我就得不到匹配项。”这不起作用,因为系统上不存在
iostream.h
。没有区别。您需要给出文件的确切名称。标准C++标题在文件名中没有<代码> .h >代码>。但是,有一个文件
windows.h
。如果您创建自己的头文件,您可以随意命名它们,但以
.h
结尾是正常的惯例。“为什么有些名称以y结尾,而其他名称以ie结尾?如果我写Jimmie而不是Jimmie,那么我就得不到匹配项。”而且完全有可能
将解析为与
不同的内容(例如,VC 6就是这种情况)。
样式的头是预标准实现,界面稍有不同。@Angew感谢您提供的信息。
完全有可能解析为与
不同的内容(例如,VC 6就是这种情况)“
样式的标题是预标准的实现,界面稍有不同。@Angew感谢您提供的信息。