STL学习笔记

容器
容器包括:向量vector 列表list 双队列deque 集合(树)set 多重集合multiset 映射(图)map 多重映射multimap
vector是包含一个或多个元素的数组
list是由节点组成的双向链表 每个节点包含一个元素
deque是包含n个连续指向不同元素的指针组成的数组
容器成员满足的条件
1 元素必须是可复制的,所有容器均会产生一个元素副本,所有容器操作返回的均是其元素的副本,导致复制构造函数经常执行
2 元素必须可指派 所有容器的成员函数均可以利用assign函数赋值
3 元素必须可释放 将元素从容器中删除时,必须释放该元素占有的内存,故析构函数不能设为私有
容器成员函数满足的条件
1 容器均能提供value(值)而非引用
2 所有的元素自动行程顺序(按照顺序可以多次遍历所有元素)。利用迭代器(类似指针)可以遍历元素
容器的种类
1 序列式:元素都是有序的但是未排序 包括 vector deque list
2 关联式容器: 容器中的元素都是排序后的 包括 set multiset map multimap
3 容器配接器:以某种stl容器作为底,修改其接口让其具备自身的特点 包括stack queue
容器的数据结构
1 string字符串:保存字符 不是真正的类 而是basic_string的typedef
2 bitset :保存bits的结构体 每个bit表示1个标志
3 valarray :线性数列的概念

本文选自C++ STL标准程序库开发指南

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值