<string> 与<string.h>、<cstring>的区别
2016-05-14 16:57
246 查看
<string.h>
<string.h>是C版本的头文件,包含比如strcpy、strcat之类的字符串处理函数。
<cstring>
在C++标准化(1998年)过程中,为了兼容以前,标准化组织将所有这些文件都进行了新的定义,加入到了标准库中,加入后的文件名就新增了一个"c"前缀并且去掉了.h的后缀名,所以string.h头文件成了cstring头文件。但是其实现却是相同的或是兼容以前的,这就是<cstring>的来源,不要觉得又多了一个东西。相当于标准库组织给它盖了个章,说“你也是我的标准程序库的一份子了”。
<string>
<string>是C++标准定义的头文件,它定义了一个string的字符串类,里面包含了string类的各种操作,如s.size(), s.erase(), s.insert()等。但<string>又包含了老的C版本的字符串操作如strcpy、strcat等,这就相当于,在<string>的文件中除了定义自己的string类之外,还加了一个#include<string.h>一句包含了C版本的字符串操作。没有<cstring.h>这样的头文件。
相关文章推荐
- context
- python实现SMTP邮件发送功能
- STL next_permutation分析
- Java多线程和并发基础面试问答
- 正岭鸡排
- 用键盘模拟文件输入
- Linux内核开发
- Ubuntu 16.04 LTS 默认壁纸公布,多图预警
- Runnable、Callable和Future
- 关于#define
- 贪心问题,最多电视节目
- Runtime 运行时:Method Swizzling
- Problem G: Find The Difference
- 安卓知识结构及简单自学流程
- 【JAVA基础系列】IEEE754二进位浮点算数标准-JAVA转换器实现
- [Android新手区] SQLite 操作详解--SQL语法
- NYOJ 860 又见01背包
- ext2文件系统下rm-rf * 误删数据恢复
- C:循环
- linux基础之FACL