文档详情

STL string和vector常用操作.pdf

发布:2017-05-28约6.54千字共7页下载文档
文本预览下载声明
1.       STL介绍 1.1. 关于STL 想当初 ,C++语言刚推出时 ,感觉是比C语言多了好多概念 ,但和使用C一样 ,数组、队列和字符串的操 作 ,都需要自己写程序来处理。 ,自从STL (标准模版库 ,Standard Template Library)推出后 ,使C++的标 准库从功能上前进了一大步 ,给使用复杂数据结构操作的程序员 ,提供了很大的方便。如果说STL是C++的 利器 ,是很恰当的。每个使用C++编程的人 ,都应该掌握这项技术。 STL是比较复杂的 ,功能十分强大 ,提供了大量的函数 ,使入门的难度有些高。如果从掌握STL的基本使用 方法入手 ,在自己的编程应用中逐步使用STL功能 ,就不觉得STL难以掌握了。熟悉了STL ,就会感觉到它 的好处。STL有以下的一些优点 : ∙         调试程序时更加安全和方便 ; ∙         STL是跨平台的; ∙         可以很容易地实现搜索或对排序等一系列的算法。 1.2. 基本术语 模板 (Template )——泛型化的类 ,或叫类的宏(macro )。 容器 (Container )——可容纳数据的模板类。STL中有vector ,string ,set ,map ,multimap和deque等容 器。 迭代器 (Iterator )——类似一个指针 ,用来指向STL容器中的元素。 1.3. 容器特点 STL中,提供了多种容器 ,每个容器都有自己的适用范围,本文只介绍最常用的两种容器string和vector。 string是只能容纳字符的容器 ,vector可以容纳各种类型的数据 ,相当于可变长的数组。 1.1. 头文件 在使用string和vector前 ,必须先包含头文件 ,但STL的头文件不包含.h后缀 ,这点要注意。 头文件的说明格式是 : #include string #include vector   1.2. 命名空间 STL的命名空间可以使用using namespace std来声明,也可以不使用 ,两种使用方法的区别如下。 l       使用using namespace std using namespace std; string strZqdm; vector int vErrCode ; l       不使用using namespace std std::string strZqdm; std::vector int vErrCode ;   2.       string的使用方法 string是一个保存字符序列的容器 ,除了有字符串操作的功能外 ,还有容器的操作功能。要列出并说明这些 功能 ,需要太多的篇幅 ,这里只说明常用的字符串操作功能。 l       说明和初值 : string strZqdm ; string strZqdmJz(600446) ; string strZqdmZs 000003; l       串连接 : 可以使用+或+ 连接两个或多个字符串,这些字符串,可以是const char *、char *或string型的。有多个串 时 ,前两个串中必须有一个是string型的。       string strSql, strSel ;       strSel select * ;       strSql   strSel+ from + zqk;       strSel+  from + zqk;    下面这句是错误的 :       strSql select *+ from zqk; //错误 必须连接两个char *、const char *型时 ,可以写成 :       strSql string(select *)+ from zqk;    对于两个char *或const char *数据的连接 ,也要有一个先转换为string。如 :       char szSel[] {select *}; char szFrom[] { from zqk}; strSql string(szSel)+szFrom; l       串替换 把一个串中的子串,替换为另一个串,使用replace()函数 ,第一个参数是替换位置 ,第二参数是替换长 度 ,第三个参数是替换子串。替换串和被替换的子串长度可以不等。 下例把一个串中的YYYYMMDD替换为一个日期串。 int n ;    string strFile   .\\QS_YYYYMMDD.dat ;    string strDate 2
显示全部
相似文档