现在的位置: 首页 > 综合 > 正文

c++中#include区别

2013年10月11日 ⁄ 综合 ⁄ 共 2014字 ⁄ 字号 评论关闭

最近在看题目中,发现有些代码中用的是#include<iostream>但是又和我们平时编写c++代码不同,因为我们平时若像前面那样用,说明我们用的是标准c++库,但是后面要加上using namespace std;。或者我们也可以用#include<iostream.h>,但是我现在看的代码都不是这两种情况,感觉有点困惑,googel了一下。哈哈明白啦!

  把有关这方面的内容贴在这,和大家共享,也方便自己日后复习。呵呵

很多C++程序员还在使用而不是用更新的标准的库。 
这两者都有什么不同呢?首先,5年前我们就开始反对把.h符号继续用在标准的头 
文件中。继续使用过时的规则可不是个好的方法。从功能性的角度来讲, 
<iostream>包含了一系列模板化的I/O类,相反地<iostream.h>只仅仅是支持字符 
流。另外,输入输出流的C++标准规范接口在一些微妙的细节上都已改进,因此, 
<iostream>和<iostream.h>在接口和执行上都是不同的。最后,<iostream>的各组 
成都是以STL的形式声明的,然而<iostream.h>的各组成都是声明成全局型的。 

因为这些实质上的不同,你不能在一个程序中混淆使用这两个库。做为一种习 
惯,在新的代码中一般使用<iostream>,但如果你处理的是过去编写的代码,为了 
继承可以用继续用<iostream.h>旧保持代码的一致性。 

/////////////////// 

<iostream>表示你使用的是标注命名空间,也就是在程序开始应该有这么一句话 
using namespace std ; 
这是遵循c++标准的 
<iostream.h> 
则没有遵循c++标准 
//////////////// 
<string.h>是旧的C头文件,对应的是基于char*的字符串处理函数; 
<string>是包装了std的C++头文件,对应的是新的strng类; 
<cstring>是对应旧的C头文件的std版本。

#include <iostream.h>  
  #include <iostream>  
  前一个不是c++标准中的,后一个在c++标准中

还有就是平时我们所用的两种情况,当有输出和输入流时就要注意了。

换成#include <iostream>的话,要加一句using namespace std;  
  或把cout改成std::cout,end改成std::endl等等

最近在看题目中,发现有些代码中用的是#include<iostream>但是又和我们平时编写c++代码不同,因为我们平时若像前面那样用,说明我们用的是标准c++库,但是后面要加上using namespace std;。或者我们也可以用#include<iostream.h>,但是我现在看的代码都不是这两种情况,感觉有点困惑,googel了一下。哈哈明白啦!

  把有关这方面的内容贴在这,和大家共享,也方便自己日后复习。呵呵

很多C++程序员还在使用而不是用更新的标准的库。 
这两者都有什么不同呢?首先,5年前我们就开始反对把.h符号继续用在标准的头 
文件中。继续使用过时的规则可不是个好的方法。从功能性的角度来讲, 
<iostream>包含了一系列模板化的I/O类,相反地<iostream.h>只仅仅是支持字符 
流。另外,输入输出流的C++标准规范接口在一些微妙的细节上都已改进,因此, 
<iostream>和<iostream.h>在接口和执行上都是不同的。最后,<iostream>的各组 
成都是以STL的形式声明的,然而<iostream.h>的各组成都是声明成全局型的。 

因为这些实质上的不同,你不能在一个程序中混淆使用这两个库。做为一种习 
惯,在新的代码中一般使用<iostream>,但如果你处理的是过去编写的代码,为了 
继承可以用继续用<iostream.h>旧保持代码的一致性。 

/////////////////// 

<iostream>表示你使用的是标注命名空间,也就是在程序开始应该有这么一句话 
using namespace std ; 
这是遵循c++标准的 
<iostream.h> 
则没有遵循c++标准 
//////////////// 
<string.h>是旧的C头文件,对应的是基于char*的字符串处理函数; 
<string>是包装了std的C++头文件,对应的是新的strng类; 
<cstring>是对应旧的C头文件的std版本。

#include <iostream.h>  
  #include <iostream>  
  前一个不是c++标准中的,后一个在c++标准中

还有就是平时我们所用的两种情况,当有输出和输入流时就要注意了。

换成#include <iostream>的话,要加一句using namespace std;  
  或把cout改成std::cout,end改成std::endl等等

抱歉!评论已关闭.