C/C++中几个string头文件的区别

众所周知,在C/C++中就好几个string的头文件用来处理字符串函数,但是我一直对其中的区别不胜了解,今天在开发中遇到了一个问题,特此记录下来
C/C++中有如下几个string相关的头文件

//C++中的头文件,其中包含了一个string类
//包含了std命名空间
#include<string> 
//定义string类对象
eg. string strObject; 

//C中的一个字符串处理函数
#include<string.h>  
//定义一个字符串
eg. std::string strObject;

//C中的一个包含了<string.h>和std命名空间的版本
#include<cstring>
//定义一个字符串
eg.string strObject;

//如果 string.h 可以使用的情况下,没有必要使用该头文件
//如果没有定义 __USE_MISC这个变量,这个变量将会在 strings.h 头文件中进行定义
//因为 string.h 中没有进行对这个变量进行定义
#include<strings.h>

一般情况下,在C中的一些头文件,在C++中都有一个去掉".h"后缀的头文件与之对应,比如:

//C++中使用标准输出的头文件
#include<iostream>
using namespace std;

//C中使用标准输出的头文件
#include<iostream.h>

两者区别就是,C++对C的一些头文件做了优化的同时,将一些东西整理到了std标准命名空间里面去了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,951评论 19 139
  • 草莓~ 葡萄酒~ 原创动漫,右上角是BEAST LAND,意思是圣兽大陆的意思。 干果~
    LEEZIJA阅读 1,168评论 18 34
  • 日来旧景扰心嗟,存我伤情百念加。 无耐潇潇多雨夜,忆中悔事落梅花。
    飞飞_b4dc阅读 331评论 3 5
  • 富商宅邸失窃的消息,不出两天,已经传得满城皆知,且细节各异。 这城中倘若有人不知此事,豫灵算得一个,另外一个,当是...
    红雪阅读 233评论 0 0
  • 1,缺啥补啥,怕啥练啥; 2,一切为我所用,所用为团队家; 3,我想变,我要变,我不得不变,我会变得越来越好。 今...
    刘大畅阅读 263评论 0 0