107 C++ STL 容器分类,array,vector详解

STL 的组成部分是个重要的部分,先回忆一下

容器,迭代器,算法(函数),分配器(分配内存),适配器,仿函数

一 容器的分类.

vector , list,map

容器是保存数据,用于管理一大堆数据。

分为三大类

第一类:顺序容器,sqquence containers.放进去在哪里,这个元素就排在哪里,例如,array, vector,deque,list,forward_list

第二类:关联容器 associative containers ,一般都是键值对.特别适合做查找。

关联容器你只能控制插入的数据,不能控制插入的位置。

set, map, multiset,multimap,hash_set,hash_map

第三类: 无序容器 unordered containers C++11推出来的。

元素的位置不重要,重要的是这个元素是否在这个集合里面。

无序容器实际上也属于一种关联容器。

无序容器里面的元素可能随着 新的元素的增加让原来元素的位置发生变化,这是无序容器内部 的算法决定的。

unordered  set/ multiset

unordered  map/ multimap

二 容器的说明和应用事项例

array: 是一个顺序容器,其实是一个数组,大小是固定的,刚开始申请的大小是多少,就是多少,不能扩展。

#include <array>

std::array C++文档说明

< cpp‎ | container

在标头 <array> 定义

template<

    class T,
    std::size_t N

> struct array;
(C++11 起)

std::array 是封装固定大小数组的容器。

此容器是一个聚合类型,其语义等同于保有一个 C 风格数组 T[N] 作为其唯一非静态数据成员的结构体。不同于 C 风格数组,它不会自动退化成 T* 。它能作为聚合类型聚合初始化,只要有至多 N 个能转换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值