我知道之前曾询问过有关<header>
和<header.h>
之间区别的问题。在阅读完这些答案之后,我已经获得了以下差异
iostream.h
并不包含iostream.h
命名空间内的所有内容,也不会使用模板。好。
但是,在阅读了几本书和一些答案(例如this)之后,我推断std
在我们的程序中包含一个名为iostream.h的特定文件然而,#include<iostream.h>
根本不需要映射到文件。它只是保证属于#include<iostream>
库的所有内容都包含在我们的程序中。我是对的吗?
答案 0 :(得分:3)
不需要“system”标头作为文件。因此指定使用<>
的包含:
C ++ 11 16.2 [cpp.include] / 2:在一系列实现定义的位置中搜索由&lt;之间的指定序列唯一标识的头。和&gt;分隔符,并导致该标题的整个内容替换该指令。如何指定场所或标识的标题是实现定义的。
因此,如果实现者认为这是一个好主意,那么可以在不加载和预处理文本文件的情况下使实现已知的头文件(可能包括当前和/或过时的标准库头文件)声明。
包括""
将首先搜索文件(在实现定义的位置),如果失败,则返回<>
。