C++(标准库):13---STL容器之(序列式容器array)

一、序列式容器概述

二、特点

  • 总的来说:固定大小数组。支持快速随机访问。不能添加或删除元素。
  • 是C++11标准新增的类型,设计的目的是:与内置数组相比,array是一个更安全、更容易使用的数组类型
  • array对象的大小是固定的,因此不能进行删除、添加、以及改变容器大小等

三、头文件、using声明

  • 头文件:#include <array>
  • using声明:using std::array;

四、初始化

  • array<T,size>  v1; ==>v1是一个空的array(array已经分配了空间,但是没初始化,都是垃圾值)
  • array<T,size> v2(v1); ===>v2是v1的副本,拷贝构造(v1和v2在定义时,<>内必须是相同的大小)
  • array<T,size> v2=v1; ===>同上(注意,=运算符只能用于此处,单独拿出来用不行)
  • array<T,size> v1{a,b,c...}; ===>用元素a,b,c进行初始化
  • array<T,size> v1={a,b,c...}; ===>同上

五、相关操作

1.运算符

a1==a2;//判断a1和a2是否相等
a1!=a2;//判断a1和a2是否相等
>、>=、<、<= //以字典顺序进行比较

2.取值

  • 索引取值:a[0],a[1],a[2]....

六、相关函数

  • array功能有限,只支持部分函数,且部分函数功能与其他容器函数功能不一样
  • 因为array是固定大小,所以插入删除之类的函数都没有
a.empty();//判断是否为空,返回布尔值
a.size();//返回容器中的元素个数
a.max_size();//返回容器的容量
a.front();//得到头元素
a.back();//得到尾元素
a.at(int i);//得到下标i处的元素,若下标越界,会抛出异常
a.data();//获取指向第一个数据的指针
//a1与a2必须是相同的大小
a1.swap(a2);//将a1和a2进行交换。容器的成员函数版本
swap(a1,a2);//同上。系统函数版本

a.assign(t);//将容器内的元素全部变为t
a.fill(t);//将容器内的元素全部变为t

七、使用

  • 使用时,必须指定大小
array<int, 3> a{1,2,3};
array<int, 3> b = { 1,2,3 };
  • 初始化之后,不能再进行赋值
array<int, 3> a{1,2,3};
a={4,5,6};//错误
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董哥的黑板报

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值