<string> 与<string.h>、<cstring>的区别

Myth丶恋晨 2022-06-07 13:44 285阅读 0赞

是C版本的头文件,包含比如strcpy、strcat之类的字符串处理函数。

在C++标准化(1998年)过程中,为了兼容以前,标准化组织将所有这些文件都进行了新的定义,加入到了标准库中,加入后的文件名就新增了一个”c”前缀并且去掉了.h的后缀名,所以string.h头文件成了cstring头文件。但是其实现却是相同的或是兼容以前的,这就是的来源,不要觉得又多了一个东西。相当于标准库组织给它盖了个章,说“你也是我的标准程序库的一份子了”。

是C++标准定义的头文件,它定义了一个string的字符串类,里面包含了string类的各种操作,如s.size(), s.erase(), s.insert()等。但又包含了老的C版本的字符串操作如strcpy、strcat等,这就相当于,在的文件中除了定义自己的string类之外,还加了一个#include一句包含了C版本的字符串操作。

没有这样的头文件。

 例子

#include

cout<<string 没有重载

#include

cout<<string 有重载

发表评论

表情:
评论列表 (有 0 条评论,285人围观)

还没有评论,来说两句吧...

相关阅读

    相关 [C#] Stringstring区别

    C\是区分大小写的,但是我却发现C\中同时存在String与string,于是我很困惑,于是我上网搜索了一下,于是我了解了一些小知识。 MSDN中对string的说明:str

    相关 String == equals区别

    在学习,面试中,常常会出现 == 与 equals有什么区别。经过总结,主要区别如下: == :比较字符窜引用的地址是否相同。 equals:比较字符窜的内容是否相同。