#include是指包含后面所跟的内容,iostream是input output stream的缩写,意思是输入输出流。所以#include<iotream>定义的就是你要输入和输出的内容。这个是在最新标准的c++中通用的头文件,一般后面还要接上using namespace std;
拓展资料:
iostream 库的基础是两种命名为 istream 和 ostream 的类型,分别表示输入流和输出流。流是指要从某种 IO 设备上读出或写入的字符序列。术语“流”试图说明字符是随着时间顺序生成或消耗的。
标准库定义了 4 个 IO 对象。处理输入时使用命名为 cin(读作 see-in)的 istream 类型对象。这个对象也称为标准输入。处理输出时使用命名为 cout(读作 see-out)的 ostream 类型对象,这个对象也称为标准输出。标准库还定义了另外两个 ostream 对象,分别命名为 cerr 和 clog(分别读作“see-err”和“see-log”)。cerr 对象又叫作标准错误,通常用来输出警告和错误信息给程序的使用者。而 clog 对象用于产生程序执行的一般信息 [1] 。
参考资料:
ostream.h是input output stream的简写,意思为标准的输入输出流头文件。它包含:
(1)cin>>"要输入的内容"
(2)cout<<"要输出的内容"
这两个输入输出的方法需要#include<iostream.h>来声明头文件。
iostream.h与iostream是不同的。
#include<iostream.h>是在旧的标准C++中使用。在新标准中,用#include<iostream>。iostream 的意思是输入输出流。#include<iostream>是标准的C++头文件,任何符合标准的C++开发环境都有这个头文件。还要注意的是:在VS编程时要添加:
using namespace std;
其原因是:后缀为.h的头文件C++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,C++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。因此,当使用<iostream.h>时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现;当使用<iostream>的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。
using namespace std;
其原因是:后缀为.h的头文件C++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,C++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。因此,当使用<iostream.h>时,相当于在C中调用库函数,使用的是全局命名空间,也就是早期的C++实现;当使用<iostream>的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。
关系
<string.h>是旧的C头文件,对应的是基于char*的字符串处理函数;<string>是包装了std的C++头文件,对应的是新的string类;<cstring>是对应旧的C头文件的std版本。而<iostream.h>和<iostream>的关系,类似于<string.h>和<cstring>的关系,实现的功能是相同的,主要是是否使用命名空间std的区别。
你的回答,和我问的不相关呐,仁兄?
你也可以不用using namespace std; 而用 using std::string。这样也可以直接使用string了。
这个和include是两回事,include保证你的代码里包含string的声明。你没用using namespace std;只是没有正确的使用它的名字。
include保证你的代码里包含string的声明,既然有声明了,那不是直接可以拿来定义对象了吗,再者说我这里只有一个头文件#include,怎么会出现重名呢?
我前面说的是namespace的含义和用法,是假设啊同学。
实际上头文件<string>里面的string的定义差不多是这样(实际情况要更复杂就不说了):
namespace std {
...
class string {
...
};
...
};
因为它被包含在namespace std里面 ,所以你必须用std::string来使用,或者直接放一个using namespace std;。
就像金角大王有葫芦(include),但是不知道孙悟空的名字(std::string)一样。
using namespace std;
其原因是:后缀为.h的头文件C++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,C++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。因此,当使用<iostream.h>时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现;当使用<iostream>的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。