#include <iostream>
#include <array>
using namespace std;
int main()
{
array<int, 5> a = { 1,2,3,4,5 };
//填充
a.fill(0);
//返回首地址指针
auto p = a.data();
cout << *p << endl; //0
//索引
a.at(2) = 3;
cout << a.at(2) << endl; //3
//尾元素
a.back() = 5;
cout << a.back() << endl; //5
//重载过[]
a[1] = 2;
cout << a[1] << endl; //2
//元素个数
cout << a.size() << endl; //5
//首元素
a.front() = 1;
cout << a.front() << endl; //1
array<int, 3> a2;
if (a2.empty())
{
cout << "is empty" << endl; //不会执行 因为3个元素
}
//交换容器
//a.swap(a2); 元素个数不相等无法交换
array<int, 5> a3;
a3.swap(a);
//遍历
for (int& num : a)
{
cout << num << " "; //随机值
}
cout << endl;
for (int& num : a3)
{
cout << num << ""; //1 2 3 0 5
}
cout << endl;
//正向逆向const迭代器和最大元素容量也都有,就不写了,
return 0;
}