在C++中包含头文件时,有什么区别......
1)包括.h与不包括.h在<>中包裹它时?
#include <iostream> vs. #include <iostream.h>
Run Code Online (Sandbox Code Playgroud)
2)用双引号包装标题名称而不是用<>符号包装它?
#include <iostream.h> vs. #include "iostream.h"
Run Code Online (Sandbox Code Playgroud)
提前致谢!
Ada*_*vis 49
简而言之:
iostream.h已被弃用 - 它是最初的Stroustrup版本,iostream是标准委员会的版本.通常编译器将它们指向同一个东西,但是一些较旧的编译器不会使用较旧的编译器.在一些奇怪的情况下,它们将存在并且不同(以支持遗留代码),然后您必须具体.
""与<>只是意味着在进入库之前检查本地目录中的标题(在大多数编译器中).
-亚当
小智 5
作为标准委员会(X3J16)中提议离开.h的人,我的初衷是解决关于.h,.H,.hpp,.hxx或.h ++文件扩展名的争论; 或者某些人希望标准中没有暗示这是磁盘上文件的名称,以便允许IDE将预编译的头信息从某个内部(例如资源文件)或者甚至是编译器.
虽然Unix认为文件名是单个字符串并且实际上没有识别扩展的概念,但DEC操作系统具有将名称与扩展名分开的传统,并且如果在特定上下文中省略它则提供"默认扩展名".这就是我从实现中使用实现想要使用的任何扩展的想法,并且它允许实现甚至不在磁盘上有这个文件.(我当时是委员会的DEC代表.)
区分标准和标准前标题是一个额外的好处.