#include与#include

来源:互联网 发布:软件上线报告 编辑:程序博客网 时间:2024/05/16 16:19

 

#include<string>与#include<string.h>

一般老的C++的标准库带“.h”扩展名的库文件,比如iostream.h,在新标准后的标准库中都有一个不带“.h”扩展名的相对应,区别除了后者的好多改进之外,还有一点就是后者的东东都塞进了“std”名字空间中。 

但唯独string特别。 
问题在于C++要兼容C的标准库,而C的标准库里碰巧也已经有一个名字叫做“string.h”的头文件,包含一些常用的C字符串处理函数,比如strcmp。 
这个头文件跟C++的string类半点关系也没有,所以<string>并非<string.h>的“升级版本”,他们是毫无关系的两个头文件。 
要同时使用可以这么做: 
#include <string.h> 
#include <string> 
using namespace std; 
或者 
#include <cstring> 
#include <string> 

其中<cstring>是与C标准库的<string.h>相对应,但裹有std名字空间的版本。

 

原创粉丝点击