1、array
- 相当于
数组
,存储固定大小
的具有相同数据
类型的序列容器;- 元素存储在
连续的内存位置
,允许对元素随机访问
;
template < class T, size_t N > class array;
1.1 常用成员函数
empty()
:判断是否为空;size()
:返回当前实际元素个数;max_size()
:返回最大大小;[ ]
:返回指定下标的元素;at
:通过索引获取元素;front()
:获取第一个元素;back()
:获取最后一个元素;data()
:获取指向数据的指针;fill()
:填充数组;swap
:数组交换;begin()
:返回迭代器的第一个元素;end()
:返回迭代器最后一个元素后面的一个位置;rbegin()
:返回迭代器最后一个元素;rend()
:返回迭代器第一个元素的前一个位置。
1.2 案例
/**
* Array
*/
#include <iostream>
#include <array>
using namespace std;
array<int, 4> arr = {1, 2 , 3, 5};
void test() {
// ret: 4
//std::cout << "size() : " << arr.size() << endl;
// ret: 4
//std::cout << "max_size() : " << arr.max_size() << endl;
// ret: 0
//std::cout << "empty : " << arr.empty() << endl;
// ret: 1
//std::cout << "at: " << arr.at(0) << endl;
// ret:1
//cout << "front: " << arr.front() << endl;
// ret:5
//cout << "back: " << arr.back() << endl;
// ret: 0x6f6f20
//cout << "data: " << arr.data() << endl;
// ret: 5 6 0 0
//array<int, 4> arr1 = {5, 6};
//arr.swap(arr1);
//for(auto& i : arr) {
// cout << i << " ";
//}
//ret: 100 100 100 100
//array<int, 4> arr1 = {5, 6};
//arr1.fill(100);
//for(auto& i : arr1) {
// cout << i << " ";
//}
}
int main() {
test();
return 0;
}