博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
库文件 string.h、cstring、string 你辨清了没
阅读量:6787 次
发布时间:2019-06-26

本文共 835 字,大约阅读时间需要 2 分钟。

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

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

      #include <string>

      #include <cstring>
    3、若想同时使用 C 的字符处理函数和 C++ 的 string 类,需:
      #include <string.h>
      #include <string>
      using namespace std;
      或者
      #include <cstring>
      #include <string>
  C++ 里面的“string”往往让初学者摸不着头脑,跟三角恋似的。这不,又来了个三儿“cstring”,这个库文件与 C 标准库的“string.h”相对应,是裹有“std”命名空间的版本。

转载于:https://www.cnblogs.com/daocaoren/archive/2011/11/02/2232867.html

你可能感兴趣的文章
常用Shell脚本命令(备忘)
查看>>
Python中的__init__,__call__
查看>>
玩转Kafka的生产者
查看>>
解决android.permission.WRITE_APN_SETTINGS
查看>>
Ruby on Rails: UUID as your ActiveRecord primary key
查看>>
Bean property属性说明
查看>>
微软工程师认为 Mozilla 也应该拥抱 Chromium
查看>>
去年出货的工业机器人,超过1/3都跑来了中国
查看>>
Windows死机的话,可能的一些猫病
查看>>
作为架构师,你必需要搞清楚的概念:POJO、PO、DTO、DAO、BO、VO
查看>>
golang-web框架revel一个表单提交的总结
查看>>
PHP 根据IP获取地理位置
查看>>
Velocity入门指南
查看>>
LNMP架构搭建论坛(三)
查看>>
第三节 Linux用户管理常用命令
查看>>
Exchange Server 2010系列—01全新安装Exchange Server 2010
查看>>
我的友情链接
查看>>
ArgoUML -- 开源UML 建模工具
查看>>
工作中的心态
查看>>
asp.net使用mscharts生成图表
查看>>