STL之Array

Posted 阿呆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STL之Array相关的知识,希望对你有一定的参考价值。

一个Array也是容器类array<>的一份实体--模塑出一个static array, 它包覆一个寻常的static c-style array 并提供一个STL容器接口。

屏幕快照 2017-04-22 上午9.14.19

构造函数
屏幕快照 2017-04-22 上午9.19.58


Array的注意事项

  • 其中的元素是一个有序的集合

  • 允许随机访问

  • 其迭代器属于随机迭代器

  • 其size()的结果总等于N

  • 不支持分配器

  • 是唯一一个无任何东西被指定为初值时,会被预初始化的容器,这意味着对于基础类型初值可能不明确

  • class array<> 是一个聚合体(不带用户提供的构造函数,没有private和protected的nonstatic数据成员,没有base类,有没有virtual 函数),这意味着保存所有元素的那个成员是public,然而C++并没有指定其名称,因此对该public成员的任何直接访问都会导致不可预期的行为,也绝对不可移植。


构造函数屏幕快照 2017-04-22 上午9.42.01
屏幕快照 2017-04-22 上午9.44.38


大小
屏幕快照 2017-04-22 上午9.48.56


赋值
屏幕快照 2017-04-22 上午9.50.57

如果使用=操作符或者swap(),两个array必须具备相同类型,即元素类型和大小必须相同。


元素访问
屏幕快照 2017-04-22 上午9.58.13

屏幕快照 2017-04-22 上午9.59.53

以上是关于STL之Array的主要内容,如果未能解决你的问题,请参考以下文章

STL六大组件之算法

STL 之 list源码自行实现(iterator)

STL之算法总结

STL源码剖析之组件

STL之string认识

小结STL之std::list