我知道我们总是包含一个头文件,那为什么我会找到一些像
这样的头文件#include<iostream>
没有.h扩展名,但有一些头文件,如
#include<windows.h>
使用.h扩展名,我也尝试将add.h添加到某些头文件,例如iostream.h,但是没有用,所以在包含文件时添加.h扩展名而不执行此操作有什么不同。
感谢所有回复...非常感谢
答案 0 :(得分:5)
它只取决于特定的标题。
标准库标题(如<iostream>
)没有扩展名 - 只需使用名称。
对于其他头文件(严格来说,这些不应该被称为“头文件”,而是“包含的源文件”),它是文件作者决定使用的任何文件。因此windows.h
使用扩展程序.h
。 Boost更喜欢.hpp
的文件。 .hh
或.hxx
也常用于C ++,但如果头文件的作者决定使用myHeader.IamBob
,则必须:
#include <myHeader.IamBob>
答案 1 :(得分:1)
您始终需要指定完全文件名。没有&#34;隐含&#34; .h
。对于标准的符合实现,c ++库没有扩展名。
因此
#include <iostream>
是有效且符合的,而
#include <iostream.h>
编译器(或您的邻居)可能会接受,但它不可移植,也不保证与iostream
完全相同或兼容。
答案 2 :(得分:0)
在C ++于1998年首次标准化之前,iostream.h标头曾经很常见。但是由于使用的是98标准,后者已经失宠(非标准和全部)并且不再受支持所有平台。使用它的代码应被视为非标准遗留代码,并且不可移植。
包括<iostream>
,而不是<iostream.h>
(后者已被弃用)