#include <iostream>
#include <string>
#include <array>
using namespace std;
// https://zh.cppreference.com/w/cpp/container/array
int main()
{
///array<int, 3> arr({ 1,2,3 }); // 非法
array<int, 3> arr1{ { 1,2,3 } }; // 不可以扩容,属于固定大小的数组。
array<int, 3> arr2 = { 1,2,3 };
array<std::string, 2> arr3 = {"aaa", "bbb"};
auto vBack = arr2.back();
auto bFront = arr2.front();
array<int, 0> arr4 = { 1 }; // 居然合法。结果是 arr4 size = 0,为空。
array<int, 0> arr5;
///auto vBack5 = arr5.back(); // back 和 front 操作不允许空array,所以执行前需要检查
///auto bFront5 = arr5.front();
array<int, 3> arr6 = { 11,12,13};
arr6.swap(arr2); // swap, arr6 和 arr2 的大小必须一致。
// 填充数组
arr6.fill(152);
}