码迷,mamicode.com
首页 > 其他好文 > 详细

string和string.h和cstring之间的关联

时间:2020-01-11 11:26:52      阅读:48      评论:0      收藏:0      [点我收藏+]

标签:模板   pac   一个   过程   rcp   ring   std   namespace   标准库   

  1. C语言中没有字符串string类型,字符串是存放在字符型数组中的,将字符串作为字符数组来处理的。为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”,以字符‘\0‘作为结束标志 。
  2. string.h是C风格字符串操作的一个库函数,因此使用#include<string.h>时是不能定义string类的,使用时不需声明namespace std。
  3. string.h是C++标准化(1998年)以前的C++库文件,在标准化过程中,为了兼容以前,标准化组织将所有这些文件都进行了新的定义,加入到了标准库中,加入后的文件名就新增了一个"c"前缀并且去掉了.h的后缀名,所以string.h头文件成了cstring头文件。但是其实现却是相同的或是兼容以前的。相当于标准库组织给它盖了个章,说“你也是我的标准程序库的一份子了
  4. 你用的是C++,那么请用cstring,如果你用的是C请用string.h。
  5. string是C++标准库里面的string模板,也包含了C风格字符串操作的库函数,因此可以定义string类,使用时需声明namespace std。
  6. string.h是以前的c版本,包含的是类似strcmp,strcpy的函数,标准化之后变成了cstring。而string是c++的版本,包含了string的类,同时也包含了对cstring的兼容。

string和string.h和cstring之间的关联

标签:模板   pac   一个   过程   rcp   ring   std   namespace   标准库   

原文地址:https://www.cnblogs.com/cyj1258/p/12179216.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!