关于C++头文件的小知识
2010-07-27 15:21
465 查看
1.h的是标准C的头文件,没有.h的是标准C++的头文件,两种都是头文件。
造成这两种形式不同的原因,是C++的发展历史决定的,刚才正好有别的人也问这个问题,这里我再回答一下(注意vs2008和vs2005对标准C++的
支持是一样的):
以iostream和stdio.h为例,iostream是C++的库,stdio.h是标准C的库。
2、新的C++标准摒弃了.h形式的头文件,所以在vs2005里面是没有iostream.h的头文件的。
3、在早期的vs版本,比如VC6.0,用的还是老版本的C++标准库,例如iostream.h,并且当时标准库也没有引入名字空间。因此直
接#include <iostream.h>是可以的。但到了vs2005,使用了新的C++标准库,只能用#include
<iostream>。
4、名字空间里可以包含很多东西,比如函数名、标识符、数据类型等等。新的C++标准把标准库中的名字都放入了std名字空间,因此在#include
<iostream>之后,还必须使用标准库的名字空间std,才能使用标准库里的类和函数,也就是必须 using namespace
std;
5、对于C的标准库,例如,stdio.h,没有名字空间的概念,因此直接包含后即可使用。
6、新的C++标准库为了统一以前的C标准库,将原来c的标准库也放入了std名字空间,并把原来的C标准库去掉了.h后缀,前面加上字母
“c”,例如stdio.h就变成了cstdio,使用时为#include <cstdio>,其内容和#include
<stdio.h>相同,但是要额外使用名字空间std,也就是using namespace std;
7、因此,对于新的C++标准库,没有了.h形式的头文件,例如iostream,在包含了头文件以后,必须使用std名字空间才能使用库中的内容。对于
C标准库,有两种使用方法,一种是用老的.h形式,例如stdio.h直接包含就可以了;另一种就是用C++的统一形式,例如cstdio,和
C++标准库一样,包含了以后还要加上using namespace std;才能使用。
建议采用后面统一的形式,比如你要同时使用C和C++的库,可以这样写:
#include <cstdio>
#include <iostream>
using namespace std;
来自:http://zhidao.baidu.com/question/90016630.html?si=4
造成这两种形式不同的原因,是C++的发展历史决定的,刚才正好有别的人也问这个问题,这里我再回答一下(注意vs2008和vs2005对标准C++的
支持是一样的):
以iostream和stdio.h为例,iostream是C++的库,stdio.h是标准C的库。
2、新的C++标准摒弃了.h形式的头文件,所以在vs2005里面是没有iostream.h的头文件的。
3、在早期的vs版本,比如VC6.0,用的还是老版本的C++标准库,例如iostream.h,并且当时标准库也没有引入名字空间。因此直
接#include <iostream.h>是可以的。但到了vs2005,使用了新的C++标准库,只能用#include
<iostream>。
4、名字空间里可以包含很多东西,比如函数名、标识符、数据类型等等。新的C++标准把标准库中的名字都放入了std名字空间,因此在#include
<iostream>之后,还必须使用标准库的名字空间std,才能使用标准库里的类和函数,也就是必须 using namespace
std;
5、对于C的标准库,例如,stdio.h,没有名字空间的概念,因此直接包含后即可使用。
6、新的C++标准库为了统一以前的C标准库,将原来c的标准库也放入了std名字空间,并把原来的C标准库去掉了.h后缀,前面加上字母
“c”,例如stdio.h就变成了cstdio,使用时为#include <cstdio>,其内容和#include
<stdio.h>相同,但是要额外使用名字空间std,也就是using namespace std;
7、因此,对于新的C++标准库,没有了.h形式的头文件,例如iostream,在包含了头文件以后,必须使用std名字空间才能使用库中的内容。对于
C标准库,有两种使用方法,一种是用老的.h形式,例如stdio.h直接包含就可以了;另一种就是用C++的统一形式,例如cstdio,和
C++标准库一样,包含了以后还要加上using namespace std;才能使用。
建议采用后面统一的形式,比如你要同时使用C和C++的库,可以这样写:
#include <cstdio>
#include <iostream>
using namespace std;
来自:http://zhidao.baidu.com/question/90016630.html?si=4
相关文章推荐
- 关于#include中的C++头文件的一些知识
- 关于C++头文件#include<iostream.h>debug时提示文件目录不存在错误解决方法?
- 关于C/C++结构体的一点知识
- C/C++知识扩充_C++头文件一览
- 关于C++检测内存泄露相关知识(Windows程序调试)
- c++ 关于引用&的一些知识
- C++基础知识—关于默认构造函数的一切
- 关于C和C++头文件的小记
- C++ 关于输入输出流的头文件引用
- 关于C++中的头文件互相包含
- [C++STDLib基础]关于C++string字符串的操作——C++标准库头文件<string>
- 关于C++的几个小知识
- 关于ISO/ANSI C++头文件的说明
- c/c++关于内存分配的知识(非常详细的比较,且VirtualAlloc分配内直接在进程的地址空间中保留一快内存)
- 关于C++中用两个迭代器方式初始化string的知识
- 关于c++检测内存泄露相关知识(windows程序调试)
- C++学习(3)--基础知识(3)--关于操作符的重载
- 关于C++头文件的包含顺序问题
- 学习C++动态链接库基础 4000 知识 (主要关于QT项目)
- C++学习(4)--基础知识(4)--关于const