【Cpp】第五章-STL_string类

string类

STL

  STLStandard Template Library的简称,中文名为是标准模板库,在Cpp中模板是构成泛型编程的基础,我们利用模板可以极大程度地提高我们的代码复用率,但是如果模板要我们现写也有点过于繁琐,不过好在Cpp中为我们写代码方便为我们制作了一套标准地模板库,供我们直接使用十分方便。

STL的版本

  STL发展至今也不是一气呵成的,随着发展和进化,STL一共出现了四大版本。

HP版本

  这个版本是STL的原始版本,由Alexander Stepanov、Meng Lee在惠普实验室完成,是所有STL版本的始祖。并且此版本秉承开源精神,允许任何人免费运用,拷贝,商用,传播,修改这些代码,唯一的条件也只是要求需要像原始版本一样开源使用。

P.J.版本

  这个版本由P. J. Plauger开发,继承自HP版本,被Windows Visual C++采用,不可公开或修改,可读性较差。

RW版本

  这个版本由Rouge Wage公司开发,继承自HP版本,被C++ Builder采用,不能公开或修改,可读性一般。

SGI版本

  这个版本由Silicon Graphics Computer Systems,Inc公司开发,继承自HP版本,被GCC采用,可移植性较好,可公开,修改,贩卖,可读性很高。也是我们学习主要参考的版本。

STL六大组件

  STL中包含六大组件,他们共同组成STL互相协同工作。

容器

  string, vector, list, deque, map, set, multimap, multiset

配接器

  stack, queue, priority_queue

算法

  find, swap, reverse, sort, merge...

空间适配器

  allocator

迭代器

  iterator, const_iterator, reverse_iterator, const_reverse_iterator

仿函数

  greater, less...
  STL在日常编程中无论是笔试还是项目都十分常用,必须多用多练,并且自己实现一遍才能熟练掌握。STL(包扩Cpp绝大部分库)学习可分为三个层次:
  1、熟用STL
  2、了解泛型技术d的内涵与STL的学理乃至实作
  3、扩充STL
  总结就是能用,明理,能扩展。

string类

  string类时STL中专门用于字符串处理的容器。在C语言中我们利用字符数组或字符指针来构成字符串,所有字符串使用十分不方便,库中为字符串提供的接口也并不便于使用,于是在Cpp中有了string模板类,这个容器可以帮助我们更加方便的使用字符串,并且帮助我们封装了很多字符串相关的常用接口。

常用接口

构造函数

  string中提供了各种构造函数帮助我们构造字符串。

string(); //构造空的string类对象,即空字符串
string(const char *s);// 用C-string来构造string类对象
string(size_t n, char c);//string类对象中包含n个字符c
string(const string &s);//拷贝构造函数
string(const string &s, size_t n);//用s中的前n个字符构造新的string类对象 return 0;
容量相关接口
size_t size() const;			  // 返回字符串有效字符长度
size_t length() const;			  // 返回字符串有效字符长度
size_t capacity() const;		  // 返回空间总大小
bool empty() const;				  // 检测字符串释
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值