array实际上是对C/C++语言中原生数组进行的封装
特点:内存分配在栈(STACK),绝对不会重新分配,随机访问元素
可以用={}进行初始化为0,如果分配5个大小只初始化一个值,后面用0补齐
array swap交换每一个元素,不是交互指针
[]未检查下标是否合法,用at会抛出异常
front和back存放的都是引用
以下代码在单线程中看似正确,在多线程中是错误的
迭代器相关:
cbegin和cend是从尾部到头部的遍历
和C的接口互用:
用data来获取数据会更好一些
一些特殊的地方和会抛出异常的情况:
可以用fill对所有元素进行赋值
使用array的情况:
1、知道有最大大小
2、需要跟C语言进行交互比如传固定大小数组考虑array可以检查位置,提供丰富接口,效率更高
不好的地方:
生成在栈上内存消耗更大