C++ Primer Plus学习笔记之STL容器

C++ Primer Plus学习笔记之STL容器

一,容器的概念
容器是存储其他对象的对象。被存储的对象必须是同一种类型,它们可以是OOP意义上的对象,也可以是内置类型值。
二,容器的分类
1,序列容器
vector,deque,queue,list,stack,priority_queue
2,关联容器
set,multiset,map,multimap
三,容器变量的定义(以vector为例)

1vector<int> v;定义一个空容器,向容器中添加元素只能用v.push_back()等等,通过下标访问非法

2vector<int> v(100);定义一个大小为100的容器,向容器中添加元素既可以通过下标也可以通过函数操作

3vector<int> v[100];定义一个大小为100的数组,数组中元素的类型是向量,向量的元素类型是int

4vector<vector<int> > v(100);定义一个二维向量,相当于二维数组,行数为100,与3是等价的定义

注意它们几个的声明方式

四,序列容器的操作

T.front()返回容器首元素
T.back()返回容器尾元素
T.push_front()向容器首部添加元素
T.push_back()向容器尾部添加元素
T.pop_front()删除容器首部元素
T.pop_back()删除容器尾部元素
T.insert(p,t)将t插入到p的前面
T.erase(p)删除p指向的元素
T.clear()清空容器
四,关联容器的操作
关联容器将值与键关联在一起,并使用键来查找值。
set是关联集合,可反转,可排序,且键值是唯一的,所以不能存储多个相同的值。
set<string> s;
第二个模板参数是可选的,可用于指示用来对键值进行排序的比较函数或者对象,默认情况下将使用less<>
multimap也是可反转的,经过排序的关联容器,但键和值的类型不同,且同一个键可能与多个值关联
multimap<int ,string> m;
第三个模板参数是可选的,指出用于对键值进行的比较函数或者对象,在默认情况下将使用模板less<>
可以使用first,second成员来访问键和值
总结:
容器里有很多方便使用的方法,具体选用什么类型的容器,应该依据实际情况而定。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值