- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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
文档评论(0)