近十年后我又回到了C++世界.我已经安装了GCC并在我的Windows 7盒子上写了一个初步程序.我有以下问题:
当我说#include <iostream.h>,我得到一个错误,说找不到文件.我不得不说#include <iostream>让它运转起来.此外,当我转到安装GCC的文件夹时,我无法通过任何一个名称找到听筒文件.iostream从哪里挑选?
<iostream>是您需要包含的标准C++标头.它取决于您的平台.在我的,它在
/usr/include/c++/4.4.3/iostream
您可以找到g++配置的详细信息
g ++ --verbose
这打印出来,除其他外,
--with-GXX-包括-DIR =的/ usr /包括/ C++/4.4
该.h标题(如iostream.h)都赞成“现代”风格的头被废弃了(iostream)。这确保了实现不需要将标头作为物理位于磁盘上的文件提供。可以自由选择任何合适的实现。
例如,<math.h>要求实现提供具有此名称的文件,但如果您只指定<cmath>,则实现可以随意提供数学实用程序,而无需物理文件。
此外,.h标头将它们的声明放在全局命名空间中,而“非 .h”标头将它们的声明放在std命名空间中。因此,新标头不太可能导致任何命名冲突。
编辑正如Basile Starynkevitch在评论中指出的那样,这个概念不仅限于 C++,而且 C 标准也支持它。
C++ 中没有iostream.h头文件,这些在标准出现之前就已存在。没有 C++ 标准库头文件以.h.
如果您的编译器安装正常,您永远不必将包含标准库头的目录添加到包含目录中 - 编译器已经知道最好在哪里查找。