文档详情

C++ 标准库-字符串 string 类.pdf

发布:2017-05-23约1.1万字共8页下载文档
文本预览下载声明
C++ 标准库-字符串 string 类 针对字符串处理,C++中并没有专门的内置类型。C语言是使用字符数组以 相应的指针来表 示字符串。前面章节已经介绍了C++包容的C语言字符串处理方式。下面将讲解C++标准库封装字 符串处理的字符串类类型。通过库提供的字符串类型公开方法接口,开发者可以很方便地定义操 作字符串,使得操作字符串变得方便简易。 1.1 string 字符串对象构造 C++库中提供的字符串标准类是通过模板定义来实现的。其中,模板类basic_string主要用于 表示两类字符串操作:一种是目前应用程序中常用的string类型;另一种是支持宽类型的字符操作 。目前本章所讲述的是string类型。名称空间std 中string其实只是basic_string模板类的别名。如果 采用typedef定义string作为basic_string字符类型实例类的别名,其定义语句如下。 其中,模板类basic_string通过char字符型实例化其类型,即此时处理的字符串为char型。然 后通过typedef关键字定义string为该类类型别名。这样,开发者就可以直接把string作为其类类型 操作。下面所讲述的库提供的字符串类就是直接采用string名称来说明。 C++标准库字符串类的对象实例定义时会涉 该类构造函数来实现构造。对于标准的字符 串类,标准库提供了多个构造函数。开发者需要根据定义对象实例的方式,来决定调用哪个构造 函数来构造字符串对象实例。下面讲解定义实现几种字符串对象构造实例,帮助读者了解标准库 字符串类所提供的字符串对象构造方式。 在定义中,字符串类string提供了多种构造函数,实现了不同方式定义其对象实例并初始化。 q 第一种构造方式,通过传入字符串指针构造并初始化字符串对象。 q 第二个则是通过传入字符个数以 对应的字符来初始化既定个数字符的字符串对象。 q 第三个则仅仅是通过构造函数来分配字符串变量空间,暂时先不作任何初始化工作。 q 第四种方式是通过调用字符串类构造函数隐式地去执行了转换操作,给定义的字符串对象 赋值。 通常软件开发中采用第三种构造方式。程序中仅仅先定义字符串对应的对象,而赋值操作在 实际应用中进行。字符串类string使用时,要注意包含字符串标准库提供的头文件#include 。这样 可以在应用程序中具体的使用字符串标准库的接口。 1.2 string 字符串赋值 C++标准库字符串类提供的字符串赋值操作有多种操作接口可选择。研究字符串类标准定义 可以看出,字符串类赋值操作主要有两种方式:一种利用赋值符号重载实现,即直接使用等于号 的重载而实现。另一种是使用提供的assign()方法接口实现字符串赋值操作。下面将会通过几个赋 值操作的实例,来讲解标准字符串类提供的赋值操作。 1.准备实例 æ´å¤ç²¾å½©æ»ç¥è®¿é® 1 打开UE工具,创建新的空文件并且另存为chapter1301.cpp 。该代码文件随后会同 akefile文 件一起通过FTP工具传输至Linux服务器端,客户端通过scrt工具访问操作。程序代码文件编辑如 下所示。 本实例主要通过标准字符串类演示字符串对象相互赋值的操作情况。程序主要在主函数中演 示字符串赋值操作,程序具体详解见程序注释与后面讲解。 2.编辑 akefile Linux平台下需要编译源文件为chapter1301.cpp,相关 akefile工程文件编译命令编辑如下 所示。 上述 akefile文件套用前面的模板格式,主要替换了代码文件、程序编译中间文件、可执行程 序等。在编译命令部分-g选项的加入,表明程序编译同时加入了可调式信息。 3. 编译运行程序 当前shell下执行 ake命令,生成可执行程序文件,随后通过 ake sub it命令提交程序文件 至本实例bin 目录,通过cd命令定位至实例bin 目录,执行该程序文件运行结果如下所示。 本实例中主要使用标准字符串类定义字符串对象,演示了标准字符串类提供的几种赋值方式 的操作。程序中使用到字符串类时,需要include包含提供的头文件。对于标准字符串提供的等号 赋值运算操作,初学者应该比较的熟悉。C++字符串
显示全部
相似文档